This PR is to propose supporting the `T` extension to the BCP 47 to which `java.util.Locale` class conforms. There are two extensions to the BCP 47, one is `Unicode Locale Extension` which has been supported since JDK7, the other is this `Transformed Content` extension. A CSR has also been drafted.
------------- Commit messages: - IllformedLocaleEx -> LocaleSyntaxEx - SystemProperty tests - Revived returning Optional - Some clean-ups, including making Extension a sealed class. - Bring the specialized methods back - Using Optional - FieldSeparators()/FieldSubtag() -> Fields() - 8289227: Support for BCP 47 Extension T - T-ext Changes: https://git.openjdk.org/jdk/pull/9620/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9620&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8289227 Stats: 776 lines in 23 files changed: 600 ins; 135 del; 41 mod Patch: https://git.openjdk.org/jdk/pull/9620.diff Fetch: git fetch https://git.openjdk.org/jdk pull/9620/head:pull/9620 PR: https://git.openjdk.org/jdk/pull/9620