New API List (Java SE 17 & JDK 17)
Description: new elements

# New API since JDK 11

## Contents

- Modules
- Packages
- Interfaces
- Classes
- Enum Classes
- Record Classes
- Annotation Interfaces
- Fields
- Methods
- Constructors
- Enum Constants

(The leftmost tab "New ..." indicates all the new elements, regardless of the releases in which they were added. Each of the other tabs "Added in ..." indicates the new elements added in a specific release. Any element shown under the leftmost tab is also shown under one of the righthand tabs.)

- Module
  Description
  jdk.jpackage
  Defines the Java Packaging tool, jpackage.
  jdk.nio.mapmode
  Defines JDK-specific file mapping modes.

- Package
  Description
  java.lang.constant
  Classes and interfaces to represent nominal descriptors for run-time entities such as classes or method handles, and classfile entities such as constant pool entries or `invokedynamic` call sites.
  java.lang.runtime
  The `java.lang.runtime` package provides low-level runtime support for the Java language.
  java.util.random
  This package contains classes and interfaces that support a generic API for random number generation.

- Interface
  Description
  com.sun.source.doctree.SystemPropertyTree
  A tree node for an `@systemProperty` inline tag.
  com.sun.source.tree.BindingPatternTree
  A binding pattern tree
  com.sun.source.tree.CaseLabelTreePREVIEW
  A marker interface for `Tree`s that may be used as `CaseTree` labels.
  com.sun.source.tree.DefaultCaseLabelTreePREVIEW
  A case label that marks `default` in `case null, default`.
  com.sun.source.tree.GuardedPatternTreePREVIEW
  A guard pattern tree.
  com.sun.source.tree.ParenthesizedPatternTreePREVIEW
  A tree node for a parenthesized pattern.
  com.sun.source.tree.PatternTreePREVIEW
  A tree node used as the base class for the different kinds of patterns.
  com.sun.source.tree.SwitchExpressionTree
  A tree node for a `switch` expression.
  com.sun.source.tree.YieldTree
  A tree node for a `yield` statement.
  com.sun.source.util.ParameterNameProvider
  A provider for parameter names when the parameter names are not determined from a reliable source, like a classfile.
  java.lang.constant.ClassDesc
  A nominal descriptor for a `Class` constant.
  java.lang.constant.Constable
  Represents a type which is constable.
  java.lang.constant.ConstantDesc
  A nominal descriptor for a loadable constant value, as defined in JVMS 4.4.
  java.lang.constant.DirectMethodHandleDesc
  A nominal descriptor for a direct `MethodHandle`.
  java.lang.constant.MethodHandleDesc
  A nominal descriptor for a `MethodHandle` constant.
  java.lang.constant.MethodTypeDesc
  A nominal descriptor for a MethodType constant.
  java.lang.invoke.TypeDescriptor
  An entity that has a type descriptor.
  java.lang.invoke.TypeDescriptor.OfField
  An entity that has a field type descriptor.
  java.lang.invoke.TypeDescriptor.OfMethod
  An entity that has a method type descriptor Method descriptors conforming to JVMS 4.3.3 can be described nominally via `MethodType::describeConstable`; otherwise they cannot be described nominally.
  java.security.interfaces.EdECKey
  An interface for an elliptic curve public/private key as defined by RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA).
  java.security.interfaces.EdECPrivateKey
  An interface for an elliptic curve private key as defined by RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA).
  java.security.interfaces.EdECPublicKey
  An interface for an elliptic curve public key as defined by RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA).
  java.time.InstantSource
  Provides access to the current instant.
  java.util.random.RandomGenerator
  The `RandomGenerator` interface is designed to provide a common protocol for objects that generate random or (more typically) pseudorandom sequences of numbers (or Boolean values).
  java.util.stream.DoubleStream.DoubleMapMultiConsumer
  Represents an operation that accepts a `double`-valued argument and a DoubleConsumer, and returns no result.
  java.util.stream.IntStream.IntMapMultiConsumer
  Represents an operation that accepts an `int`-valued argument and an IntConsumer, and returns no result.
  java.util.stream.LongStream.LongMapMultiConsumer
  Represents an operation that accepts a `long`-valued argument and a LongConsumer, and returns no result.
  javax.lang.model.element.RecordComponentElement
  Represents a record component.
  jdk.jfr.consumer.EventStream
  Represents a stream of events.

- Class
  Description
  java.lang.constant.ConstantDescs
  Predefined values of nominal descriptor for common constants, including descriptors for primitive class types and other common platform types, and descriptors for method handles for standard bootstrap methods.
  java.lang.constant.DynamicCallSiteDesc
  A nominal descriptor for an `invokedynamic` call site.
  java.lang.constant.DynamicConstantDesc
  A nominal descriptor for a dynamic constant (one described in the constant pool with `Constant_Dynamic_info`.)
  java.lang.Enum.EnumDesc
  A nominal descriptor for an `enum` constant.
  java.lang.invoke.VarHandle.VarHandleDesc
  A nominal descriptor for a `VarHandle` constant.
  java.lang.Record
  This is the common base class of all Java language record classes.
  java.lang.reflect.RecordComponent
  A `RecordComponent` provides information about, and dynamic access to, a component of a record class.
  java.lang.runtime.ObjectMethods
  Bootstrap methods for state-driven implementations of core methods, including `Object.equals(Object)`, `Object.hashCode()`, and `Object.toString()`.
  java.lang.runtime.SwitchBootstrapsPREVIEW
  Bootstrap methods for linking `invokedynamic` call sites that implement the selection functionality of the `switch` statement.
  java.net.UnixDomainSocketAddress
  A Unix domain socket address.
  java.security.spec.EdDSAParameterSpec
  A class used to specify EdDSA signature and verification parameters.
  java.security.spec.EdECPoint
  An elliptic curve point used to specify keys as defined by RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA).
  java.security.spec.EdECPrivateKeySpec
  A class representing elliptic curve private keys as defined in RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA), including the curve and other algorithm parameters.
  java.security.spec.EdECPublicKeySpec
  A class representing elliptic curve public keys as defined in RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA), including the curve and other algorithm parameters.
  java.text.CompactNumberFormat
  `CompactNumberFormat` is a concrete subclass of `NumberFormat` that formats a decimal number in its compact form.
  java.util.HexFormat
  `HexFormat` converts between bytes and chars and hex-encoded strings which may include additional formatting markup such as prefixes, suffixes, and delimiters.
  java.util.random.RandomGeneratorFactory
  This is a factory class for generating multiple random number generators of a specific algorithm.
  javax.lang.model.util.AbstractAnnotationValueVisitor14
  A skeletal visitor for annotation values with default behavior appropriate for source version `RELEASE_14`.
  javax.lang.model.util.AbstractElementVisitor14
  A skeletal visitor of program elements with default behavior appropriate for the `RELEASE_14` source version.
  javax.lang.model.util.AbstractTypeVisitor14
  A skeletal visitor of types with default behavior appropriate for the `RELEASE_14` source version.
  javax.lang.model.util.ElementKindVisitor14
  A visitor of program elements based on their kind with default behavior appropriate for the `RELEASE_14` source version.
  javax.lang.model.util.ElementScanner14
  A scanning visitor of program elements with default behavior appropriate for the `RELEASE_14` source version.
  javax.lang.model.util.SimpleAnnotationValueVisitor14
  A simple visitor for annotation values with default behavior appropriate for source version `RELEASE_14`.
  javax.lang.model.util.SimpleElementVisitor14
  A simple visitor of program elements with default behavior appropriate for the `RELEASE_14` source version.
  javax.lang.model.util.SimpleTypeVisitor14
  A simple visitor of types with default behavior appropriate for source version `RELEASE_14`.
  javax.lang.model.util.TypeKindVisitor14
  A visitor of types based on their kind with default behavior appropriate for source version `RELEASE_14`.
  javax.naming.ldap.spi.LdapDnsProvider
  Service-provider class for DNS lookups when performing LDAP operations.
  javax.naming.ldap.spi.LdapDnsProviderResult
  The result of a DNS lookup for an LDAP URL.
  javax.xml.crypto.dsig.spec.RSAPSSParameterSpec
  Parameters for the XML Signature RSASSA-PSS Algorithm.
  jdk.jfr.consumer.MetadataEvent
  Event that contains information about event types and configurations.
  jdk.jfr.consumer.RecordingStream
  A recording stream produces events from the current JVM (Java Virtual Machine).
  jdk.management.jfr.RemoteRecordingStream
  An implementation of an `EventStream` that can serialize events over the network using an `MBeanServerConnection`.
  jdk.nio.mapmode.ExtendedMapMode
  JDK-specific map modes.

- Enum Class
  Description
  com.sun.source.tree.CaseTree.CaseKind
  The syntactic form of this case: STATEMENT: `case <expression>: <statements>` RULE: `case <expression> -> <expression>/<statement>`
  java.lang.constant.DirectMethodHandleDesc.Kind
  Kinds of method handles that can be described with DirectMethodHandleDesc.
  java.lang.invoke.MethodHandles.Lookup.ClassOption
  The set of class options that specify whether a hidden class created by `Lookup::defineHiddenClass` method is dynamically added as a new member to the nest of a lookup class and/or whether a hidden class has a strong relationship with the class loader marked as its defining loader.
  java.text.NumberFormat.Style
  A number format style.

- Record Class
  Description
  jdk.net.UnixDomainPrincipal
  Represents the credentials of a peer connected to a Unix domain socket.

- Annotation Interface
  Description
  java.io.Serial
  Indicates that an annotated field or method is part of the serialization mechanism defined by the Java Object Serialization Specification.

- Field
  Description
  java.lang.Character.UnicodeBlock.CHESS_SYMBOLS
  Constant for the "Chess Symbols" Unicode character block.
  java.lang.Character.UnicodeBlock.CHORASMIAN
  Constant for the "Chorasmian" Unicode character block.
  java.lang.Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G
  Constant for the "CJK Unified Ideographs Extension G" Unicode character block.
  java.lang.Character.UnicodeBlock.DIVES_AKURU
  Constant for the "Dives Akuru" Unicode character block.
  java.lang.Character.UnicodeBlock.DOGRA
  Constant for the "Dogra" Unicode character block.
  java.lang.Character.UnicodeBlock.EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS
  Constant for the "Egyptian Hieroglyph Format Controls" Unicode character block.
  java.lang.Character.UnicodeBlock.ELYMAIC
  Constant for the "Elymaic" Unicode character block.
  java.lang.Character.UnicodeBlock.GEORGIAN_EXTENDED
  Constant for the "Georgian Extended" Unicode character block.
  java.lang.Character.UnicodeBlock.GUNJALA_GONDI
  Constant for the "Gunjala Gondi" Unicode character block.
  java.lang.Character.UnicodeBlock.HANIFI_ROHINGYA
  Constant for the "Hanifi Rohingya" Unicode character block.
  java.lang.Character.UnicodeBlock.INDIC_SIYAQ_NUMBERS
  Constant for the "Indic Siyaq Numbers" Unicode character block.
  java.lang.Character.UnicodeBlock.KHITAN_SMALL_SCRIPT
  Constant for the "Khitan Small Script" Unicode character block.
  java.lang.Character.UnicodeBlock.LISU_SUPPLEMENT
  Constant for the "Lisu Supplement" Unicode character block.
  java.lang.Character.UnicodeBlock.MAKASAR
  Constant for the "Makasar" Unicode character block.
  java.lang.Character.UnicodeBlock.MAYAN_NUMERALS
  Constant for the "Mayan Numerals" Unicode character block.
  java.lang.Character.UnicodeBlock.MEDEFAIDRIN
  Constant for the "Medefaidrin" Unicode character block.
  java.lang.Character.UnicodeBlock.NANDINAGARI
  Constant for the "Nandinagari" Unicode character block.
  java.lang.Character.UnicodeBlock.NYIAKENG_PUACHUE_HMONG
  Constant for the "Nyiakeng Puachue Hmong" Unicode character block.
  java.lang.Character.UnicodeBlock.OLD_SOGDIAN
  Constant for the "Old Sogdian" Unicode character block.
  java.lang.Character.UnicodeBlock.OTTOMAN_SIYAQ_NUMBERS
  Constant for the "Ottoman Siyaq Numbers" Unicode character block.
  java.lang.Character.UnicodeBlock.SMALL_KANA_EXTENSION
  Constant for the "Small Kana Extension" Unicode character block.
  java.lang.Character.UnicodeBlock.SOGDIAN
  Constant for the "Sogdian" Unicode character block.
  java.lang.Character.UnicodeBlock.SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A
  Constant for the "Symbols and Pictographs Extended-A" Unicode character block.
  java.lang.Character.UnicodeBlock.SYMBOLS_FOR_LEGACY_COMPUTING
  Constant for the "Symbols for Legacy Computing" Unicode character block.
  java.lang.Character.UnicodeBlock.TAMIL_SUPPLEMENT
  Constant for the "Tamil Supplement" Unicode character block.
  java.lang.Character.UnicodeBlock.TANGUT_SUPPLEMENT
  Constant for the "Tangut Supplement" Unicode character block.
  java.lang.Character.UnicodeBlock.WANCHO
  Constant for the "Wancho" Unicode character block.
  java.lang.Character.UnicodeBlock.YEZIDI
  Constant for the "Yezidi" Unicode character block.
  java.lang.constant.ConstantDescs.BSM_EXPLICIT_CAST
  `MethodHandleDesc` representing `ConstantBootstraps.explicitCast(Lookup, String, Class, Object)` ConstantBootstraps.explicitCast}
  java.lang.constant.ConstantDescs.BSM_GET_STATIC_FINAL
  `MethodHandleDesc` representing `ConstantBootstraps.getStaticFinal`
  java.lang.constant.ConstantDescs.FALSE
  Nominal descriptor representing the constant Boolean.FALSE
  java.lang.constant.ConstantDescs.TRUE
  Nominal descriptor representing the constant Boolean.TRUE
  java.lang.invoke.MethodHandles.Lookup.ORIGINAL
  A single-bit mask representing `original` access which may contribute to the result of `lookupModes`.
  java.security.spec.MGF1ParameterSpec.SHA3_224
  The MGF1ParameterSpec which uses SHA3-224 message digest
  java.security.spec.MGF1ParameterSpec.SHA3_256
  The MGF1ParameterSpec which uses SHA3-256 message digest
  java.security.spec.MGF1ParameterSpec.SHA3_384
  The MGF1ParameterSpec which uses SHA3-384 message digest
  java.security.spec.MGF1ParameterSpec.SHA3_512
  The MGF1ParameterSpec which uses SHA3-512 message digest
  java.security.spec.NamedParameterSpec.ED25519
  The Ed25519 parameters
  java.security.spec.NamedParameterSpec.ED448
  The Ed448 parameters
  java.text.NumberFormat.Field.PREFIX
  Constant identifying the prefix field.
  java.text.NumberFormat.Field.SUFFIX
  Constant identifying the suffix field.
  java.time.chrono.JapaneseEra.REIWA
  The singleton instance for the 'Reiwa' era (2019-05-01 - ) which has the value 3.
  javax.security.auth.kerberos.KerberosPrincipal.KRB_NT_ENTERPRISE
  Enterprise name (alias)
  javax.xml.crypto.dsig.CanonicalizationMethod.INCLUSIVE_11
  The Canonical XML 1.1 (without comments) canonicalization method algorithm URI.
  javax.xml.crypto.dsig.CanonicalizationMethod.INCLUSIVE_11_WITH_COMMENTS
  The Canonical XML 1.1 with comments canonicalization method algorithm URI.
  javax.xml.crypto.dsig.SignatureMethod.RSA_PSS
  The RSASSA-PSS signature method algorithm URI.
  jdk.net.ExtendedSocketOptions.SO_INCOMING_NAPI_ID
  Identifies the receive queue that the last incoming packet for the socket was received on.
  jdk.net.ExtendedSocketOptions.SO_PEERCRED
  Unix Domain peer credentials.

- Method
  Description
  com.sun.management.OperatingSystemMXBean.getCpuLoad()
  Returns the "recent cpu usage" for the operating environment.
  com.sun.management.OperatingSystemMXBean.getFreeMemorySize()
  Returns the amount of free memory in bytes.
  com.sun.management.OperatingSystemMXBean.getTotalMemorySize()
  Returns the total amount of memory in bytes.
  com.sun.management.ThreadMXBean.getCurrentThreadAllocatedBytes()
  Returns an approximation of the total amount of memory, in bytes, allocated in heap memory for the current thread.
  com.sun.net.httpserver.Filter.afterHandler(String, Consumer<HttpExchange>)
  Returns a post-processing `Filter` with the given description and operation.
  com.sun.net.httpserver.Filter.beforeHandler(String, Consumer<HttpExchange>)
  Returns a pre-processing `Filter` with the given description and operation.
  com.sun.source.doctree.DocTreeVisitor.visitSystemProperty(SystemPropertyTree, P)
  Visits a SystemPropertyTree node.
  com.sun.source.doctree.ReturnTree.isInline()
  Returns whether this instance is an inline tag.
  com.sun.source.tree.CaseTree.getBody()
  For case with kind CaseTree.CaseKind.RULE, returns the statement or expression after the arrow.
  com.sun.source.tree.CaseTree.getCaseKind()
  Returns the kind of this case.
  com.sun.source.tree.CaseTree.getExpressions()
  Returns the labels for this case.
  com.sun.source.tree.CaseTree.getLabels()PREVIEW
  Returns the labels for this case.
  com.sun.source.tree.ClassTree.getPermitsClause()
  Returns the subclasses permitted by this type declaration.
  com.sun.source.tree.CompilationUnitTree.getModule()
  Returns the module tree associated with this compilation unit, or `null` if there is no module declaration.
  com.sun.source.tree.InstanceOfTree.getPattern()
  Returns the tested pattern, or null if this instanceof does not use a pattern.
  com.sun.source.tree.TreeVisitor.visitBindingPattern(BindingPatternTree, P)
  Visits an BindingPattern node.
  com.sun.source.tree.TreeVisitor.visitDefaultCaseLabel(DefaultCaseLabelTree, P)PREVIEW
  Visits a DefaultCaseLabelTree node.
  com.sun.source.tree.TreeVisitor.visitGuardedPattern(GuardedPatternTree, P)PREVIEW
  Visits a GuardPatternTree node.
  com.sun.source.tree.TreeVisitor.visitParenthesizedPattern(ParenthesizedPatternTree, P)PREVIEW
  Visits a ParenthesizedPatternTree node.
  com.sun.source.tree.TreeVisitor.visitSwitchExpression(SwitchExpressionTree, P)
  Visits a SwitchExpressionTree node.
  com.sun.source.tree.TreeVisitor.visitYield(YieldTree, P)
  Visits a YieldTree node.
  com.sun.source.util.DocTreeFactory.newReturnTree(boolean, List<? extends DocTree>)
  Creates a new `ReturnTree` object, to represent a `@return` tag or `{@return}` tag.
  com.sun.source.util.DocTreeFactory.newSystemPropertyTree(Name)
  Creates a new `SystemPropertyTree` object, to represent a `{@systemProperty }` tag.
  com.sun.source.util.DocTrees.getType(DocTreePath)
  Returns the language model type referred to by the leaf node of the given `DocTreePath`, or `null` if unknown.
  com.sun.source.util.DocTreeScanner.visitSystemProperty(SystemPropertyTree, P)
  Visits a SystemPropertyTree node.
  com.sun.source.util.JavacTask.setParameterNameProvider(ParameterNameProvider)
  Sets the specified `ParameterNameProvider`.
  com.sun.source.util.SimpleDocTreeVisitor.visitSystemProperty(SystemPropertyTree, P)
  Visits a SystemPropertyTree node.
  com.sun.source.util.SimpleTreeVisitor.visitBindingPattern(BindingPatternTree, P)
  Visits an BindingPattern node.
  com.sun.source.util.SimpleTreeVisitor.visitDefaultCaseLabel(DefaultCaseLabelTree, P)PREVIEW
  Visits a DefaultCaseLabelTree node.
  com.sun.source.util.SimpleTreeVisitor.visitGuardedPattern(GuardedPatternTree, P)PREVIEW
  Visits a GuardPatternTree node.
  com.sun.source.util.SimpleTreeVisitor.visitParenthesizedPattern(ParenthesizedPatternTree, P)PREVIEW
  Visits a ParenthesizedPatternTree node.
  com.sun.source.util.TreeScanner.visitBindingPattern(BindingPatternTree, P)
  Visits an BindingPattern node.
  com.sun.source.util.TreeScanner.visitDefaultCaseLabel(DefaultCaseLabelTree, P)PREVIEW
  Visits a DefaultCaseLabelTree node.
  com.sun.source.util.TreeScanner.visitGuardedPattern(GuardedPatternTree, P)PREVIEW
  Visits a GuardPatternTree node.
  com.sun.source.util.TreeScanner.visitParenthesizedPattern(ParenthesizedPatternTree, P)PREVIEW
  Visits a ParenthesizedPatternTree node.
  java.io.Console.charset()
  Returns the `Charset` object used for the `Console`.
  java.io.InputStream.skipNBytes(long)
  Skips over and discards exactly `n` bytes of data from this input stream.
  java.io.ObjectInputFilter.allowFilter(Predicate<Class<?>>, ObjectInputFilter.Status)
  Returns a filter that returns `Status.ALLOWED` if the predicate on the class is `true`.
  java.io.ObjectInputFilter.Config.getSerialFilterFactory()
  Returns the JVM-wide deserialization filter factory.
  java.io.ObjectInputFilter.Config.setSerialFilterFactory(BinaryOperator<ObjectInputFilter>)
  Set the JVM-wide deserialization filter factory.
  java.io.ObjectInputFilter.merge(ObjectInputFilter, ObjectInputFilter)
  Returns a filter that merges the status of a filter and another filter.
  java.io.ObjectInputFilter.rejectFilter(Predicate<Class<?>>, ObjectInputFilter.Status)
  Returns a filter that returns `Status.REJECTED` if the predicate on the class is `true`.
  java.io.ObjectInputFilter.rejectUndecidedClass(ObjectInputFilter)
  Returns a filter that invokes a given filter and maps `UNDECIDED` to `REJECTED` for classes, with some special cases, and otherwise returns the status.
  java.io.PrintStream.write(byte[])
  Writes all bytes from the specified byte array to this stream.
  java.io.PrintStream.writeBytes(byte[])
  Writes all bytes from the specified byte array to this stream.
  java.lang.Boolean.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance.
  java.lang.Byte.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance.
  java.lang.Character.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance.
  java.lang.CharSequence.isEmpty()
  Returns `true` if this character sequence is empty.
  java.lang.Class.arrayType()
  Returns a `Class` for an array type whose component type is described by this Class.
  java.lang.Class.componentType()
  Returns the component type of this `Class`, if it describes an array type, or `null` otherwise.
  java.lang.Class.describeConstable()
  Returns a nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  java.lang.Class.descriptorString()
  Returns the descriptor string of the entity (class, interface, array class, primitive type, or `void`) represented by this `Class` object.
  java.lang.Class.getPermittedSubclasses()
  Returns an array containing `Class` objects representing the direct subinterfaces or subclasses permitted to extend or implement this class or interface if it is sealed.
  java.lang.Class.getRecordComponents()
  Returns an array of `RecordComponent` objects representing all the record components of this record class, or `null` if this class is not a record class.
  java.lang.Class.isHidden()
  Returns `true` if and only if the underlying class is a hidden class.
  java.lang.Class.isRecord()
  Returns `true` if and only if this class is a record class.
  java.lang.Class.isSealed()
  Returns `true` if and only if this `Class` object represents a sealed class or interface.
  java.lang.Double.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance, which is the instance itself.
  java.lang.Double.resolveConstantDesc(MethodHandles.Lookup)
  Resolves this instance as a `ConstantDesc`, the result of which is the instance itself.
  java.lang.Enum.describeConstable()
  Returns an enum descriptor `EnumDesc` for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  java.lang.Enum.EnumDesc.of(ClassDesc, String)
  Returns a nominal descriptor for the specified `enum` class and name
  java.lang.Float.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance, which is the instance itself.
  java.lang.Float.resolveConstantDesc(MethodHandles.Lookup)
  Resolves this instance as a `ConstantDesc`, the result of which is the instance itself.
  java.lang.Integer.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance, which is the instance itself.
  java.lang.Integer.resolveConstantDesc(MethodHandles.Lookup)
  Resolves this instance as a `ConstantDesc`, the result of which is the instance itself.
  java.lang.invoke.ConstantBootstraps.explicitCast(MethodHandles.Lookup, String, Class<?>, Object)
  Applies a conversion from a source type to a destination type.
  java.lang.invoke.MethodHandle.describeConstable()
  Return a nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  java.lang.invoke.MethodHandles.classData(MethodHandles.Lookup, String, Class<T>)
  Returns the class data associated with the lookup class of the given `caller` lookup object, or `null`.
  java.lang.invoke.MethodHandles.classDataAt(MethodHandles.Lookup, String, Class<T>, int)
  Returns the element at the specified index in the class data, if the class data associated with the lookup class of the given `caller` lookup object is a `List`.
  java.lang.invoke.MethodHandles.dropReturn(MethodHandle)
  Drop the return value of the target handle (if any).
  java.lang.invoke.MethodHandles.Lookup.defineHiddenClass(byte[], boolean, MethodHandles.Lookup.ClassOption...)
  Creates a hidden class or interface from `bytes`, returning a `Lookup` on the newly created class or interface.
  java.lang.invoke.MethodHandles.Lookup.defineHiddenClassWithClassData(byte[], Object, boolean, MethodHandles.Lookup.ClassOption...)
  Creates a hidden class or interface from `bytes` with associated class data, returning a `Lookup` on the newly created class or interface.
  java.lang.invoke.MethodHandles.Lookup.ensureInitialized(Class<?>)
  Ensures that `targetClass` has been initialized.
  java.lang.invoke.MethodHandles.Lookup.hasFullPrivilegeAccess()
  Returns `true` if this lookup has full privilege access, i.e.
  java.lang.invoke.MethodHandles.Lookup.previousLookupClass()
  Reports a lookup class in another module that this lookup object was previously teleported from, or `null`.
  java.lang.invoke.MethodType.describeConstable()
  Returns a nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  java.lang.invoke.MethodType.descriptorString()
  Returns a descriptor string for this method type.
  java.lang.invoke.VarHandle.describeConstable()
  Return a nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  java.lang.invoke.VarHandle.hasInvokeExactBehavior()
  Returns `true` if this VarHandle has invoke-exact behavior.
  java.lang.invoke.VarHandle.withInvokeBehavior()
  Returns a VarHandle, with access to the same variable(s) as this VarHandle, but whose invocation behavior of access mode methods is adjusted to invoke behavior.
  java.lang.invoke.VarHandle.withInvokeExactBehavior()
  Returns a VarHandle, with access to the same variable(s) as this VarHandle, but whose invocation behavior of access mode methods is adjusted to invoke-exact behavior.
  java.lang.Long.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance, which is the instance itself.
  java.lang.Long.resolveConstantDesc(MethodHandles.Lookup)
  Resolves this instance as a `ConstantDesc`, the result of which is the instance itself.
  java.lang.Math.absExact(int)
  Returns the mathematical absolute value of an `int` value if it is exactly representable as an `int`, throwing `ArithmeticException` if the result overflows the positive `int` range.
  java.lang.Math.absExact(long)
  Returns the mathematical absolute value of an `long` value if it is exactly representable as an `long`, throwing `ArithmeticException` if the result overflows the positive `long` range.
  java.lang.Process.errorReader()
  Returns a `BufferedReader` connected to the standard error of the process.
  java.lang.Process.errorReader(Charset)
  Returns a `BufferedReader` connected to the standard error of this process using a Charset.
  java.lang.Process.inputReader()
  Returns a `BufferedReader` connected to the standard output of the process.
  java.lang.Process.inputReader(Charset)
  Returns a `BufferedReader` connected to the standard output of this process using a Charset.
  java.lang.Process.outputWriter()
  Returns a `BufferedWriter` connected to the normal input of the process using the native encoding.
  java.lang.Process.outputWriter(Charset)
  Returns a `BufferedWriter` connected to the normal input of the process using a Charset.
  java.lang.ref.Reference.refersTo(T)
  Tests if the referent of this reference object is `obj`.
  java.lang.reflect.InvocationHandler.invokeDefault(Object, Method, Object...)
  Invokes the specified default method on the given `proxy` instance with the given parameters.
  java.lang.Short.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance.
  java.lang.StrictMath.absExact(int)
  Returns the mathematical absolute value of an `int` value if it is exactly representable as an `int`, throwing `ArithmeticException` if the result overflows the positive `int` range.
  java.lang.StrictMath.absExact(long)
  Returns the mathematical absolute value of an `long` value if it is exactly representable as an `long`, throwing `ArithmeticException` if the result overflows the positive `long` range.
  java.lang.StrictMath.decrementExact(int)
  Returns the argument decremented by one, throwing an exception if the result overflows an `int`.
  java.lang.StrictMath.decrementExact(long)
  Returns the argument decremented by one, throwing an exception if the result overflows a `long`.
  java.lang.StrictMath.incrementExact(int)
  Returns the argument incremented by one, throwing an exception if the result overflows an `int`.
  java.lang.StrictMath.incrementExact(long)
  Returns the argument incremented by one, throwing an exception if the result overflows a `long`.
  java.lang.StrictMath.negateExact(int)
  Returns the negation of the argument, throwing an exception if the result overflows an `int`.
  java.lang.StrictMath.negateExact(long)
  Returns the negation of the argument, throwing an exception if the result overflows a `long`.
  java.lang.String.describeConstable()
  Returns an `Optional` containing the nominal descriptor for this instance, which is the instance itself.
  java.lang.String.formatted(Object...)
  Formats using this string as the format string, and the supplied arguments.
  java.lang.String.indent(int)
  Adjusts the indentation of each line of this string based on the value of `n`, and normalizes line termination characters.
  java.lang.String.resolveConstantDesc(MethodHandles.Lookup)
  Resolves this instance as a `ConstantDesc`, the result of which is the instance itself.
  java.lang.String.stripIndent()
  Returns a string whose value is this string, with incidental white space removed from the beginning and end of every line.
  java.lang.String.transform(Function<? super String, ? extends R>)
  This method allows the application of a function to `this` string.
  java.lang.String.translateEscapes()
  Returns a string whose value is this string, with escape sequences translated as if in a string literal.
  java.net.DatagramSocket.joinGroup(SocketAddress, NetworkInterface)
  Joins a multicast group.
  java.net.DatagramSocket.leaveGroup(SocketAddress, NetworkInterface)
  Leave a multicast group on a specified local interface.
  java.net.http.HttpRequest.BodyPublishers.concat(HttpRequest.BodyPublisher...)
  Returns a `BodyPublisher` that publishes a request body consisting of the concatenation of the request bodies published by a sequence of publishers.
  java.net.http.HttpRequest.newBuilder(HttpRequest, BiPredicate<String, String>)
  Creates a `Builder` whose initial state is copied from an existing `HttpRequest`.
  java.net.SecureCacheResponse.getSSLSession()
  Returns an `Optional` containing the `SSLSession` in use on the original connection that retrieved the network resource.
  java.nio.Buffer.slice(int, int)
  Creates a new buffer whose content is a shared subsequence of this buffer's content.
  java.nio.ByteBuffer.get(int, byte[])
  Absolute bulk get method.
  java.nio.ByteBuffer.get(int, byte[], int, int)
  Absolute bulk get method.
  java.nio.ByteBuffer.put(int, byte[])
  Absolute bulk put method (optional operation).
  java.nio.ByteBuffer.put(int, byte[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.ByteBuffer.put(int, ByteBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.ByteBuffer.slice(int, int)
  Creates a new byte buffer whose content is a shared subsequence of this buffer's content.
  java.nio.channels.ServerSocketChannel.open(ProtocolFamily)
  Opens a server-socket channel.
  java.nio.channels.SocketChannel.open(ProtocolFamily)
  Opens a socket channel.
  java.nio.channels.spi.SelectorProvider.openServerSocketChannel(ProtocolFamily)
  Opens a server-socket channel.
  java.nio.channels.spi.SelectorProvider.openSocketChannel(ProtocolFamily)
  Opens a socket channel.
  java.nio.CharBuffer.get(int, char[])
  Absolute bulk get method.
  java.nio.CharBuffer.get(int, char[], int, int)
  Absolute bulk get method.
  java.nio.CharBuffer.isEmpty()
  Returns `true` if this character buffer is empty.
  java.nio.CharBuffer.put(int, char[])
  Absolute bulk put method (optional operation).
  java.nio.CharBuffer.put(int, char[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.CharBuffer.put(int, CharBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.CharBuffer.slice(int, int)
  Creates a new char buffer whose content is a shared subsequence of this buffer's content.
  java.nio.DoubleBuffer.get(int, double[])
  Absolute bulk get method.
  java.nio.DoubleBuffer.get(int, double[], int, int)
  Absolute bulk get method.
  java.nio.DoubleBuffer.put(int, double[])
  Absolute bulk put method (optional operation).
  java.nio.DoubleBuffer.put(int, double[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.DoubleBuffer.put(int, DoubleBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.DoubleBuffer.slice(int, int)
  Creates a new double buffer whose content is a shared subsequence of this buffer's content.
  java.nio.file.Files.mismatch(Path, Path)
  Finds and returns the position of the first mismatched byte in the content of two files, or `-1L` if there is no mismatch.
  java.nio.file.FileSystems.newFileSystem(Path)
  Constructs a new `FileSystem` to access the contents of a file as a file system.
  java.nio.file.FileSystems.newFileSystem(Path, Map<String, ?>)
  Constructs a new `FileSystem` to access the contents of a file as a file system.
  java.nio.file.FileSystems.newFileSystem(Path, Map<String, ?>, ClassLoader)
  Constructs a new `FileSystem` to access the contents of a file as a file system.
  java.nio.FloatBuffer.get(int, float[])
  Absolute bulk get method.
  java.nio.FloatBuffer.get(int, float[], int, int)
  Absolute bulk get method.
  java.nio.FloatBuffer.put(int, float[])
  Absolute bulk put method (optional operation).
  java.nio.FloatBuffer.put(int, float[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.FloatBuffer.put(int, FloatBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.FloatBuffer.slice(int, int)
  Creates a new float buffer whose content is a shared subsequence of this buffer's content.
  java.nio.IntBuffer.get(int, int[])
  Absolute bulk get method.
  java.nio.IntBuffer.get(int, int[], int, int)
  Absolute bulk get method.
  java.nio.IntBuffer.put(int, int[])
  Absolute bulk put method (optional operation).
  java.nio.IntBuffer.put(int, int[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.IntBuffer.put(int, IntBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.IntBuffer.slice(int, int)
  Creates a new int buffer whose content is a shared subsequence of this buffer's content.
  java.nio.LongBuffer.get(int, long[])
  Absolute bulk get method.
  java.nio.LongBuffer.get(int, long[], int, int)
  Absolute bulk get method.
  java.nio.LongBuffer.put(int, long[])
  Absolute bulk put method (optional operation).
  java.nio.LongBuffer.put(int, long[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.LongBuffer.put(int, LongBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.LongBuffer.slice(int, int)
  Creates a new long buffer whose content is a shared subsequence of this buffer's content.
  java.nio.MappedByteBuffer.force(int, int)
  Forces any changes made to a region of this buffer's content to be written to the storage device containing the mapped file.
  java.nio.ShortBuffer.get(int, short[])
  Absolute bulk get method.
  java.nio.ShortBuffer.get(int, short[], int, int)
  Absolute bulk get method.
  java.nio.ShortBuffer.put(int, short[])
  Absolute bulk put method (optional operation).
  java.nio.ShortBuffer.put(int, short[], int, int)
  Absolute bulk put method (optional operation).
  java.nio.ShortBuffer.put(int, ShortBuffer, int, int)
  Absolute bulk put method (optional operation).
  java.nio.ShortBuffer.slice(int, int)
  Creates a new short buffer whose content is a shared subsequence of this buffer's content.
  java.text.DecimalFormatSymbols.getMonetaryGroupingSeparator()
  Gets the character used for grouping separator for currencies.
  java.text.DecimalFormatSymbols.setMonetaryGroupingSeparator(char)
  Sets the character used for grouping separator for currencies.
  java.text.NumberFormat.getCompactNumberInstance()
  Returns a compact number format for the default `FORMAT` locale with `"SHORT"` format style.
  java.text.NumberFormat.getCompactNumberInstance(Locale, NumberFormat.Style)
  Returns a compact number format for the specified `locale` and `formatStyle`.
  java.text.spi.NumberFormatProvider.getCompactNumberInstance(Locale, NumberFormat.Style)
  Returns a new `NumberFormat` instance which formats a number in its compact form for the specified `locale` and `formatStyle`.
  java.time.format.DateTimeFormatterBuilder.appendDayPeriodText(TextStyle)
  Appends the day period text to the formatter.
  java.util.concurrent.CompletionStage.exceptionallyAsync(Function<Throwable, ? extends T>)
  Returns a new CompletionStage that, when this stage completes exceptionally, is executed with this stage's exception as the argument to the supplied function, using this stage's default asynchronous execution facility.
  java.util.concurrent.CompletionStage.exceptionallyAsync(Function<Throwable, ? extends T>, Executor)
  Returns a new CompletionStage that, when this stage completes exceptionally, is executed with this stage's exception as the argument to the supplied function, using the supplied Executor.
  java.util.concurrent.CompletionStage.exceptionallyCompose(Function<Throwable, ? extends CompletionStage<T>>)
  Returns a new CompletionStage that, when this stage completes exceptionally, is composed using the results of the supplied function applied to this stage's exception.
  java.util.concurrent.CompletionStage.exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>>)
  Returns a new CompletionStage that, when this stage completes exceptionally, is composed using the results of the supplied function applied to this stage's exception, using this stage's default asynchronous execution facility.
  java.util.concurrent.CompletionStage.exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>>, Executor)
  Returns a new CompletionStage that, when this stage completes exceptionally, is composed using the results of the supplied function applied to this stage's exception, using the supplied Executor.
  java.util.concurrent.locks.LockSupport.setCurrentBlocker(Object)
  Sets the object to be returned by invocations of `getBlocker` for the current thread.
  java.util.logging.LogRecord.getLongThreadID()
  Get a thread identifier for the thread where message originated
  java.util.logging.LogRecord.setLongThreadID(long)
  Set an identifier for the thread where the message originated.
  java.util.Map.Entry.copyOf(Map.Entry<? extends K, ? extends V>)
  Returns a copy of the given `Map.Entry`.
  java.util.Objects.checkFromIndexSize(long, long, long)
  Checks if the sub-range from `fromIndex` (inclusive) to `fromIndex + size` (exclusive) is within the bounds of range from `0` (inclusive) to `length` (exclusive).
  java.util.Objects.checkFromToIndex(long, long, long)
  Checks if the sub-range from `fromIndex` (inclusive) to `toIndex` (exclusive) is within the bounds of range from `0` (inclusive) to `length` (exclusive).
  java.util.Objects.checkIndex(long, long)
  Checks if the `index` is within the bounds of the range from `0` (inclusive) to `length` (exclusive).
  java.util.SplittableRandom.split(RandomGenerator.SplittableGenerator)
  Returns a new pseudorandom number generator, split off from this one, that implements the `RandomGenerator` and `RandomGenerator.SplittableGenerator` interfaces.
  java.util.SplittableRandom.splits()
  Returns an effectively unlimited stream of new pseudorandom number generators, each of which implements the `RandomGenerator.SplittableGenerator` interface.
  java.util.SplittableRandom.splits(long)
  Returns a stream producing the given `streamSize` number of new pseudorandom number generators, each of which implements the `RandomGenerator.SplittableGenerator` interface.
  java.util.SplittableRandom.splits(long, RandomGenerator.SplittableGenerator)
  Returns a stream producing the given `streamSize` number of new pseudorandom number generators, each of which implements the `RandomGenerator.SplittableGenerator` interface.
  java.util.SplittableRandom.splits(RandomGenerator.SplittableGenerator)
  Returns an effectively unlimited stream of new pseudorandom number generators, each of which implements the `RandomGenerator.SplittableGenerator` interface.
  java.util.stream.Collectors.teeing(Collector<? super T, ?, R1>, Collector<? super T, ?, R2>, BiFunction<? super R1, ? super R2, R>)
  Returns a `Collector` that is a composite of two downstream collectors.
  java.util.stream.DoubleStream.mapMulti(DoubleStream.DoubleMapMultiConsumer)
  Returns a stream consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.IntStream.mapMulti(IntStream.IntMapMultiConsumer)
  Returns a stream consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.LongStream.mapMulti(LongStream.LongMapMultiConsumer)
  Returns a stream consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.Stream.mapMulti(BiConsumer<? super T, ? super Consumer<R>>)
  Returns a stream consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.Stream.mapMultiToDouble(BiConsumer<? super T, ? super DoubleConsumer>)
  Returns a `DoubleStream` consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.Stream.mapMultiToInt(BiConsumer<? super T, ? super IntConsumer>)
  Returns an `IntStream` consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.Stream.mapMultiToLong(BiConsumer<? super T, ? super LongConsumer>)
  Returns a `LongStream` consisting of the results of replacing each element of this stream with multiple elements, specifically zero or more elements.
  java.util.stream.Stream.toList()
  Accumulates the elements of this stream into a `List`.
  javax.annotation.processing.ProcessingEnvironment.isPreviewEnabled()
  Returns `true` if preview features are enabled and `false` otherwise.
  javax.lang.model.element.ElementVisitor.visitRecordComponent(RecordComponentElement, P)
  Visits a record component element.
  javax.lang.model.element.TypeElement.getPermittedSubclasses()
  Returns the permitted classes of this class or interface element in declaration order.
  javax.lang.model.element.TypeElement.getRecordComponents()
  Returns the record components of this class or interface element in declaration order.
  javax.lang.model.util.AbstractElementVisitor6.visitRecordComponent(RecordComponentElement, P)
  Visits a record component element.
  javax.lang.model.util.ElementFilter.recordComponentsIn(Iterable<? extends Element>)
  Returns a list of record components in `elements`.
  javax.lang.model.util.ElementFilter.recordComponentsIn(Set<? extends Element>)
  Returns a set of record components in `elements`.
  javax.lang.model.util.ElementKindVisitor14.visitVariableAsBindingVariable(VariableElement, P)
  Visits a `BINDING_VARIABLE` variable element.
  javax.lang.model.util.ElementKindVisitor6.visitTypeAsRecord(TypeElement, P)
  Visits a `RECORD` type element.
  javax.lang.model.util.ElementKindVisitor6.visitVariableAsBindingVariable(VariableElement, P)
  Visits a `BINDING_VARIABLE` variable element.
  javax.lang.model.util.Elements.isAutomaticModule(ModuleElement)
  Returns `true` if the module element is an automatic module, `false` otherwise.
  javax.lang.model.util.Elements.recordComponentFor(ExecutableElement)
  Returns the record component for the given accessor.
  javax.net.ssl.HttpsURLConnection.getSSLSession()
  Returns an `Optional` containing the `SSLSession` in use on this connection.
  javax.swing.filechooser.FileSystemView.getChooserShortcutPanelFiles()
  Returns an array of files representing the values to show by default in the file chooser shortcuts panel.
  javax.swing.filechooser.FileSystemView.getSystemIcon(File, int, int)
  Returns an icon for a file, directory, or folder as it would be displayed in a system file browser for the requested size.
  javax.tools.StandardJavaFileManager.getJavaFileObjectsFromPaths(Collection<? extends Path>)
  Returns file objects representing the given paths.
  javax.xml.parsers.DocumentBuilderFactory.newDefaultNSInstance()
  Creates a new NamespaceAware instance of the `DocumentBuilderFactory` builtin system-default implementation.
  javax.xml.parsers.DocumentBuilderFactory.newNSInstance()
  Creates a new NamespaceAware instance of a `DocumentBuilderFactory`.
  javax.xml.parsers.DocumentBuilderFactory.newNSInstance(String, ClassLoader)
  Creates a new NamespaceAware instance of a `DocumentBuilderFactory` from the class name.
  javax.xml.parsers.SAXParserFactory.newDefaultNSInstance()
  Creates a new NamespaceAware instance of the `SAXParserFactory` builtin system-default implementation.
  javax.xml.parsers.SAXParserFactory.newNSInstance()
  Creates a new NamespaceAware instance of a `SAXParserFactory`.
  javax.xml.parsers.SAXParserFactory.newNSInstance(String, ClassLoader)
  Creates a new NamespaceAware instance of a `SAXParserFactory` from the class name.
  jdk.javadoc.doclet.Reporter.getDiagnosticWriter()
  Returns a writer that can be used to write diagnostic output, or `null` if no such writer is available.
  jdk.javadoc.doclet.Reporter.getStandardWriter()
  Returns a writer that can be used to write non-diagnostic output, or `null` if no such writer is available.
  jdk.javadoc.doclet.Reporter.print(Diagnostic.Kind, FileObject, int, int, int, String)
  Prints a diagnostic message related to a position within a range of characters in a file.
  jdk.javadoc.doclet.StandardDoclet.getLocale()
  Returns the locale for this doclet.
  jdk.javadoc.doclet.StandardDoclet.getReporter()
  Returns the reporter for this doclet.
  jdk.jfr.consumer.RecordingStream.dump(Path)
  Writes recording data to a file.
  jdk.jshell.tool.JavaShellToolBuilder.interactiveTerminal(boolean)
  Set to true to specify the inputs and outputs are connected to an interactive terminal that can interpret the ANSI escape codes.
  jdk.management.jfr.RemoteRecordingStream.dump(Path)
  Writes recording data to a file.
  org.xml.sax.ContentHandler.declaration(String, String, String)
  Receives notification of the XML declaration.

- Constructor
  Description
  java.lang.IndexOutOfBoundsException(long)
  Constructs a new `IndexOutOfBoundsException` class with an argument indicating the illegal index.
  java.net.ServerSocket(SocketImpl)
  Creates a server socket with a user-specified `SocketImpl`.
  java.text.CompactNumberFormat(String, DecimalFormatSymbols, String[], String)
  Creates a `CompactNumberFormat` using the given decimal pattern, decimal format symbols, compact patterns, and plural rules.
  java.util.NoSuchElementException(String, Throwable)
  Constructs a `NoSuchElementException` with the specified detail message and cause.
  java.util.NoSuchElementException(Throwable)
  Constructs a `NoSuchElementException` with the specified cause.

- Enum Constant
  Description
  com.sun.source.tree.Tree.Kind.BINDING_PATTERN
  Used for instances of `BindingPatternTree`.
  com.sun.source.tree.Tree.Kind.DEFAULT_CASE_LABELPREVIEW
  Used for instances of `DefaultCaseLabelTree`PREVIEW.
  com.sun.source.tree.Tree.Kind.GUARDED_PATTERNPREVIEW
  Used for instances of `GuardedPatternTree`PREVIEW.
  com.sun.source.tree.Tree.Kind.PARENTHESIZED_PATTERNPREVIEW
  Used for instances of `ParenthesizedPatternTree`PREVIEW.
  com.sun.source.tree.Tree.Kind.RECORD
  Used for instances of `ClassTree` representing records.
  com.sun.source.tree.Tree.Kind.SWITCH_EXPRESSION
  Used for instances of `SwitchExpressionTree`.
  com.sun.source.tree.Tree.Kind.YIELD
  Used for instances of `YieldTree`.
  java.lang.annotation.ElementType.RECORD_COMPONENT
  Record component
  java.lang.Character.UnicodeScript.CHORASMIAN
  Unicode script "Chorasmian".
  java.lang.Character.UnicodeScript.DIVES_AKURU
  Unicode script "Dives Akuru".
  java.lang.Character.UnicodeScript.DOGRA
  Unicode script "Dogra".
  java.lang.Character.UnicodeScript.ELYMAIC
  Unicode script "Elymaic".
  java.lang.Character.UnicodeScript.GUNJALA_GONDI
  Unicode script "Gunjala Gondi".
  java.lang.Character.UnicodeScript.HANIFI_ROHINGYA
  Unicode script "Hanifi Rohingya".
  java.lang.Character.UnicodeScript.KHITAN_SMALL_SCRIPT
  Unicode script "Khitan Small Script".
  java.lang.Character.UnicodeScript.MAKASAR
  Unicode script "Makasar".
  java.lang.Character.UnicodeScript.MEDEFAIDRIN
  Unicode script "Medefaidrin".
  java.lang.Character.UnicodeScript.NANDINAGARI
  Unicode script "Nandinagari".
  java.lang.Character.UnicodeScript.NYIAKENG_PUACHUE_HMONG
  Unicode script "Nyiakeng Puachue Hmong".
  java.lang.Character.UnicodeScript.OLD_SOGDIAN
  Unicode script "Old Sogdian".
  java.lang.Character.UnicodeScript.SOGDIAN
  Unicode script "Sogdian".
  java.lang.Character.UnicodeScript.WANCHO
  Unicode script "Wancho".
  java.lang.Character.UnicodeScript.YEZIDI
  Unicode script "Yezidi".
  java.net.StandardProtocolFamily.UNIX
  Unix domain (Local) interprocess communication.
  javax.lang.model.element.ElementKind.BINDING_VARIABLE
  A binding variable in a pattern.
  javax.lang.model.element.ElementKind.RECORD
  A record class.
  javax.lang.model.element.ElementKind.RECORD_COMPONENT
  A record component of a `record`.
  javax.lang.model.element.Modifier.NON_SEALED
  The modifier `non-sealed`
  javax.lang.model.element.Modifier.SEALED
  The modifier `sealed`
  javax.lang.model.SourceVersion.RELEASE_12
  The version recognized by the Java Platform, Standard Edition 12.
  javax.lang.model.SourceVersion.RELEASE_13
  The version recognized by the Java Platform, Standard Edition 13.
  javax.lang.model.SourceVersion.RELEASE_14
  The version recognized by the Java Platform, Standard Edition 14.
  javax.lang.model.SourceVersion.RELEASE_15
  The version recognized by the Java Platform, Standard Edition 15.
  javax.lang.model.SourceVersion.RELEASE_16
  The version recognized by the Java Platform, Standard Edition 16.
  javax.lang.model.SourceVersion.RELEASE_17
  The version recognized by the Java Platform, Standard Edition 17.
  jdk.jshell.Snippet.SubKind.RECORD_SUBKIND
  A record declaration.