# Uses of Interface
java.lang.CharSequence

Packages that use CharSequence
Package
Description
com.sun.source.util
Provides utilities for operations on abstract syntax trees (AST).
java.io
Provides for system input and output through data streams, serialization and the file system.
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.net.http
HTTP Client and WebSocket APIs
java.nio
Defines buffers, which are containers for data, and provides an overview of the other NIO packages.
java.nio.charset
Defines charsets, decoders, and encoders, for translating between bytes and Unicode characters.
java.nio.file
Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
java.text
Provides classes and interfaces for handling text, dates, numbers, and messages in a manner independent of natural languages.
java.time
The main API for dates, times, instants, and durations.
java.time.format
Provides classes to print and parse dates and times.
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
java.util.regex
Classes for matching character sequences against patterns specified by regular expressions.
java.util.stream
Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.
javax.annotation.processing
Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
javax.lang.model
Types and hierarchies of packages comprising a Java language model, a model of the declarations and types of the Java programming language.
javax.lang.model.element
Interfaces used to model elements of the Java programming language.
javax.lang.model.util
Utilities to assist in the processing of program elements and types.
javax.swing.text
Provides classes and interfaces that deal with editable and noneditable text components.
javax.tools
Provides interfaces for tools which can be invoked from a program, for example, compilers.

## Uses of CharSequence in com.sun.source.util

Methods in com.sun.source.util that return CharSequence
Modifier and Type
Method
Description
`CharSequence`
ParameterNameProvider.`getParameterName(VariableElement parameter)`
Infer a parameter name for the given parameter.
Methods in com.sun.source.util with parameters of type CharSequence
Modifier and Type
Method
Description
`abstract void`
DocTrees.`printMessage(Diagnostic.Kind kind, CharSequence msg, DocTree t, DocCommentTree c, CompilationUnitTree root)`
Prints a message of the specified kind at the location of the tree within the provided compilation unit
`abstract void`
Trees.`printMessage(Diagnostic.Kind kind, CharSequence msg, Tree t, CompilationUnitTree root)`
Prints a message of the specified kind at the location of the tree within the provided compilation unit

## Uses of CharSequence in java.io

Methods in java.io with parameters of type CharSequence
Modifier and Type
Method
Description
`CharArrayWriter`
CharArrayWriter.`append(CharSequence csq)`
Appends the specified character sequence to this writer.
`CharArrayWriter`
CharArrayWriter.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this writer.
`PrintStream`
PrintStream.`append(CharSequence csq)`
Appends the specified character sequence to this output stream.
`PrintStream`
PrintStream.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this output stream.
`PrintWriter`
PrintWriter.`append(CharSequence csq)`
Appends the specified character sequence to this writer.
`PrintWriter`
PrintWriter.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this writer.
`StringWriter`
StringWriter.`append(CharSequence csq)`
Appends the specified character sequence to this writer.
`StringWriter`
StringWriter.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this writer.
`Writer`
Writer.`append(CharSequence csq)`
Appends the specified character sequence to this writer.
`Writer`
Writer.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this writer.

## Uses of CharSequence in java.lang

Classes in java.lang that implement CharSequence
Modifier and Type
Class
Description
`final class`
`String`
The `String` class represents character strings.
`final class`
`StringBuffer`
A thread-safe, mutable sequence of characters.
`final class`
`StringBuilder`
A mutable sequence of characters.
Methods in java.lang that return CharSequence
Modifier and Type
Method
Description
`CharSequence`
CharSequence.`subSequence(int start, int end)`
Returns a `CharSequence` that is a subsequence of this sequence.
`CharSequence`
String.`subSequence(int beginIndex, int endIndex)`
Returns a character sequence that is a subsequence of this sequence.
`CharSequence`
StringBuffer.`subSequence(int start, int end)`
Methods in java.lang with parameters of type CharSequence
Modifier and Type
Method
Description
`Appendable`
Appendable.`append(CharSequence csq)`
Appends the specified character sequence to this `Appendable`.
`Appendable`
Appendable.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this `Appendable`.
`StringBuffer`
StringBuffer.`append(CharSequence s)`
Appends the specified `CharSequence` to this sequence.
`StringBuffer`
StringBuffer.`append(CharSequence s, int start, int end)`
`StringBuilder`
StringBuilder.`append(CharSequence s)`
`StringBuilder`
StringBuilder.`append(CharSequence s, int start, int end)`
`static int`
Character.`codePointAt(CharSequence seq, int index)`
Returns the code point at the given index of the `CharSequence`.
`static int`
Character.`codePointBefore(CharSequence seq, int index)`
Returns the code point preceding the given index of the `CharSequence`.
`static int`
Character.`codePointCount(CharSequence seq, int beginIndex, int endIndex)`
Returns the number of Unicode code points in the text range of the specified char sequence.
`static int`
CharSequence.`compare(CharSequence cs1, CharSequence cs2)`
Compares two `CharSequence` instances lexicographically.
`boolean`
String.`contains(CharSequence s)`
Returns true if and only if this string contains the specified sequence of char values.
`boolean`
String.`contentEquals(CharSequence cs)`
Compares this string to the specified `CharSequence`.
`StringBuffer`
StringBuffer.`insert(int dstOffset, CharSequence s)`
`StringBuffer`
StringBuffer.`insert(int dstOffset, CharSequence s, int start, int end)`
`StringBuilder`
StringBuilder.`insert(int dstOffset, CharSequence s)`
`StringBuilder`
StringBuilder.`insert(int dstOffset, CharSequence s, int start, int end)`
`static String`
String.`join(CharSequence delimiter, CharSequence... elements)`
Returns a new String composed of copies of the `CharSequence elements` joined together with a copy of the specified `delimiter`.
`static String`
String.`join(CharSequence delimiter, Iterable<? extends CharSequence> elements)`
Returns a new `String` composed of copies of the `CharSequence elements` joined together with a copy of the specified `delimiter`.
`static int`
Character.`offsetByCodePoints(CharSequence seq, int index, int codePointOffset)`
Returns the index within the given char sequence that is offset from the given `index` by `codePointOffset` code points.
`static int`
Integer.`parseInt(CharSequence s, int beginIndex, int endIndex, int radix)`
Parses the `CharSequence` argument as a signed `int` in the specified `radix`, beginning at the specified `beginIndex` and extending to `endIndex - 1`.
`static long`
Long.`parseLong(CharSequence s, int beginIndex, int endIndex, int radix)`
Parses the `CharSequence` argument as a signed `long` in the specified `radix`, beginning at the specified `beginIndex` and extending to `endIndex - 1`.
`static int`
Integer.`parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix)`
Parses the `CharSequence` argument as an unsigned `int` in the specified `radix`, beginning at the specified `beginIndex` and extending to `endIndex - 1`.
`static long`
Long.`parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix)`
Parses the `CharSequence` argument as an unsigned `long` in the specified `radix`, beginning at the specified `beginIndex` and extending to `endIndex - 1`.
`String`
String.`replace(CharSequence target, CharSequence replacement)`
Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence.
Method parameters in java.lang with type arguments of type CharSequence
Modifier and Type
Method
Description
`static String`
String.`join(CharSequence delimiter, Iterable<? extends CharSequence> elements)`
Returns a new `String` composed of copies of the `CharSequence elements` joined together with a copy of the specified `delimiter`.
Constructors in java.lang with parameters of type CharSequence
Modifier
Constructor
Description
``
`StringBuffer(CharSequence seq)`
Constructs a string buffer that contains the same characters as the specified `CharSequence`.
``
`StringBuilder(CharSequence seq)`
Constructs a string builder that contains the same characters as the specified `CharSequence`.

## Uses of CharSequence in java.net.http

Methods in java.net.http with parameters of type CharSequence
Modifier and Type
Method
Description
`default CompletionStage<?>`
WebSocket.Listener.`onText(WebSocket webSocket, CharSequence data, boolean last)`
A textual data has been received.
`CompletableFuture<WebSocket>`
WebSocket.`sendText(CharSequence data, boolean last)`
Sends textual data with characters from the given character sequence.

## Uses of CharSequence in java.nio

Classes in java.nio that implement CharSequence
Modifier and Type
Class
Description
`class`
`CharBuffer`
A char buffer.
Methods in java.nio with parameters of type CharSequence
Modifier and Type
Method
Description
`CharBuffer`
CharBuffer.`append(CharSequence csq)`
Appends the specified character sequence to this buffer (optional operation).
`CharBuffer`
CharBuffer.`append(CharSequence csq, int start, int end)`
Appends a subsequence of the specified character sequence to this buffer (optional operation).
`static CharBuffer`
CharBuffer.`wrap(CharSequence csq)`
Wraps a character sequence into a buffer.
`static CharBuffer`
CharBuffer.`wrap(CharSequence csq, int start, int end)`
Wraps a character sequence into a buffer.

## Uses of CharSequence in java.nio.charset

Methods in java.nio.charset with parameters of type CharSequence
Modifier and Type
Method
Description
`boolean`
CharsetEncoder.`canEncode(CharSequence cs)`
Tells whether or not this encoder can encode the given character sequence.

## Uses of CharSequence in java.nio.file

Methods in java.nio.file with parameters of type CharSequence
Modifier and Type
Method
Description
`static Path`
Files.`writeString(Path path, CharSequence csq, Charset cs, OpenOption... options)`
Write a CharSequence to a file.
`static Path`
Files.`writeString(Path path, CharSequence csq, OpenOption... options)`
Write a CharSequence to a file.
Method parameters in java.nio.file with type arguments of type CharSequence
Modifier and Type
Method
Description
`static Path`
Files.`write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)`
Write lines of text to a file.
`static Path`
Files.`write(Path path, Iterable<? extends CharSequence> lines, OpenOption... options)`
Write lines of text to a file.

## Uses of CharSequence in java.text

Methods in java.text with parameters of type CharSequence
Modifier and Type
Method
Description
`static boolean`
Normalizer.`isNormalized(CharSequence src, Normalizer.Form form)`
Determines if the given sequence of char values is normalized.
`static String`
Normalizer.`normalize(CharSequence src, Normalizer.Form form)`
Normalize a sequence of char values.

## Uses of CharSequence in java.time

Methods in java.time with parameters of type CharSequence
Modifier and Type
Method
Description
`static Duration`
Duration.`parse(CharSequence text)`
Obtains a `Duration` from a text string such as `PnDTnHnMn.nS`.
`static Instant`
Instant.`parse(CharSequence text)`
Obtains an instance of `Instant` from a text string such as `2007-12-03T10:15:30.00Z`.
`static LocalDate`
LocalDate.`parse(CharSequence text)`
Obtains an instance of `LocalDate` from a text string such as `2007-12-03`.
`static LocalDate`
LocalDate.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `LocalDate` from a text string using a specific formatter.
`static LocalDateTime`
LocalDateTime.`parse(CharSequence text)`
Obtains an instance of `LocalDateTime` from a text string such as `2007-12-03T10:15:30`.
`static LocalDateTime`
LocalDateTime.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `LocalDateTime` from a text string using a specific formatter.
`static LocalTime`
LocalTime.`parse(CharSequence text)`
Obtains an instance of `LocalTime` from a text string such as `10:15`.
`static LocalTime`
LocalTime.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `LocalTime` from a text string using a specific formatter.
`static MonthDay`
MonthDay.`parse(CharSequence text)`
Obtains an instance of `MonthDay` from a text string such as `--12-03`.
`static MonthDay`
MonthDay.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `MonthDay` from a text string using a specific formatter.
`static OffsetDateTime`
OffsetDateTime.`parse(CharSequence text)`
Obtains an instance of `OffsetDateTime` from a text string such as `2007-12-03T10:15:30+01:00`.
`static OffsetDateTime`
OffsetDateTime.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `OffsetDateTime` from a text string using a specific formatter.
`static OffsetTime`
OffsetTime.`parse(CharSequence text)`
Obtains an instance of `OffsetTime` from a text string such as `10:15:30+01:00`.
`static OffsetTime`
OffsetTime.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `OffsetTime` from a text string using a specific formatter.
`static Period`
Period.`parse(CharSequence text)`
Obtains a `Period` from a text string such as `PnYnMnD`.
`static Year`
Year.`parse(CharSequence text)`
Obtains an instance of `Year` from a text string such as `2007`.
`static Year`
Year.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `Year` from a text string using a specific formatter.
`static YearMonth`
YearMonth.`parse(CharSequence text)`
Obtains an instance of `YearMonth` from a text string such as `2007-12`.
`static YearMonth`
YearMonth.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `YearMonth` from a text string using a specific formatter.
`static ZonedDateTime`
ZonedDateTime.`parse(CharSequence text)`
Obtains an instance of `ZonedDateTime` from a text string such as `2007-12-03T10:15:30+01:00[Europe/Paris]`.
`static ZonedDateTime`
ZonedDateTime.`parse(CharSequence text, DateTimeFormatter formatter)`
Obtains an instance of `ZonedDateTime` from a text string using a specific formatter.

## Uses of CharSequence in java.time.format

Methods in java.time.format with parameters of type CharSequence
Modifier and Type
Method
Description
`TemporalAccessor`
DateTimeFormatter.`parse(CharSequence text)`
Fully parses the text producing a temporal object.
`TemporalAccessor`
DateTimeFormatter.`parse(CharSequence text, ParsePosition position)`
Parses the text using this formatter, providing control over the text position.
`<T> T`
DateTimeFormatter.`parse(CharSequence text, TemporalQuery<T> query)`
Fully parses the text producing an object of the specified type.
`TemporalAccessor`
DateTimeFormatter.`parseBest(CharSequence text, TemporalQuery<?>... queries)`
Fully parses the text producing an object of one of the specified types.
`TemporalAccessor`
DateTimeFormatter.`parseUnresolved(CharSequence text, ParsePosition position)`
Parses the text using this formatter, without resolving the result, intended for advanced use cases.
Constructors in java.time.format with parameters of type CharSequence
Modifier
Constructor
Description
``
`DateTimeParseException(String message, CharSequence parsedData, int errorIndex)`
Constructs a new exception with the specified message.
``
`DateTimeParseException(String message, CharSequence parsedData, int errorIndex, Throwable cause)`
Constructs a new exception with the specified message and cause.

## Uses of CharSequence in java.util

Methods in java.util with parameters of type CharSequence
Modifier and Type
Method
Description
`StringJoiner`
StringJoiner.`add(CharSequence newElement)`
Adds a copy of the given `CharSequence` value as the next element of the `StringJoiner` value.
`static int`
HexFormat.`fromHexDigits(CharSequence string)`
Returns the `int` value parsed from a string of up to eight hexadecimal characters.
`static int`
HexFormat.`fromHexDigits(CharSequence string, int fromIndex, int toIndex)`
Returns the `int` value parsed from a string range of up to eight hexadecimal characters.
`static long`
HexFormat.`fromHexDigitsToLong(CharSequence string)`
Returns the long value parsed from a string of up to sixteen hexadecimal characters.
`static long`
HexFormat.`fromHexDigitsToLong(CharSequence string, int fromIndex, int toIndex)`
Returns the long value parsed from a string range of up to sixteen hexadecimal characters.
`byte[]`
HexFormat.`parseHex(CharSequence string)`
Returns a byte array containing hexadecimal values parsed from the string.
`byte[]`
HexFormat.`parseHex(CharSequence string, int fromIndex, int toIndex)`
Returns a byte array containing hexadecimal values parsed from a range of the string.
`StringJoiner`
StringJoiner.`setEmptyValue(CharSequence emptyValue)`
Sets the sequence of characters to be used when determining the string representation of this `StringJoiner` and no elements have been added yet, that is, when it is empty.
Constructors in java.util with parameters of type CharSequence
Modifier
Constructor
Description
``
`StringJoiner(CharSequence delimiter)`
Constructs a `StringJoiner` with no characters in it, with no `prefix` or `suffix`, and a copy of the supplied `delimiter`.
``
`StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)`
Constructs a `StringJoiner` with no characters in it using copies of the supplied `prefix`, `delimiter` and `suffix`.

## Uses of CharSequence in java.util.regex

Methods in java.util.regex with parameters of type CharSequence
Modifier and Type
Method
Description
`Matcher`
Pattern.`matcher(CharSequence input)`
Creates a matcher that will match the given input against this pattern.
`static boolean`
Pattern.`matches(String regex, CharSequence input)`
Compiles the given regular expression and attempts to match the given input against it.
`Matcher`
Matcher.`reset(CharSequence input)`
Resets this matcher with a new input sequence.
`String[]`
Pattern.`split(CharSequence input)`
Splits the given input sequence around matches of this pattern.
`String[]`
Pattern.`split(CharSequence input, int limit)`
Splits the given input sequence around matches of this pattern.
`Stream<String>`
Pattern.`splitAsStream(CharSequence input)`
Creates a stream from the given input sequence around matches of this pattern.

## Uses of CharSequence in java.util.stream

Methods in java.util.stream that return types with arguments of type CharSequence
Modifier and Type
Method
Description
`static Collector<CharSequence,?,String>`
Collectors.`joining()`
Returns a `Collector` that concatenates the input elements into a `String`, in encounter order.
`static Collector<CharSequence,?,String>`
Collectors.`joining(CharSequence delimiter)`
Returns a `Collector` that concatenates the input elements, separated by the specified delimiter, in encounter order.
`static Collector<CharSequence,?,String>`
Collectors.`joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix)`
Returns a `Collector` that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.
Methods in java.util.stream with parameters of type CharSequence
Modifier and Type
Method
Description
`static Collector<CharSequence,?,String>`
Collectors.`joining(CharSequence delimiter)`
Returns a `Collector` that concatenates the input elements, separated by the specified delimiter, in encounter order.
`static Collector<CharSequence,?,String>`
Collectors.`joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix)`
Returns a `Collector` that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.

## Uses of CharSequence in javax.annotation.processing

Methods in javax.annotation.processing with parameters of type CharSequence
Modifier and Type
Method
Description
`JavaFileObject`
Filer.`createClassFile(CharSequence name, Element... originatingElements)`
Creates a new class file, and returns an object to allow writing to it.
`FileObject`
Filer.`createResource(JavaFileManager.Location location, CharSequence moduleAndPkg, CharSequence relativeName, Element... originatingElements)`
Creates a new auxiliary resource file for writing and returns a file object for it.
`JavaFileObject`
Filer.`createSourceFile(CharSequence name, Element... originatingElements)`
Creates a new source file and returns an object to allow writing to it.
`FileObject`
Filer.`getResource(JavaFileManager.Location location, CharSequence moduleAndPkg, CharSequence relativeName)`
Returns an object for reading an existing resource.
`void`
Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg)`
Prints a message of the specified kind.
`void`
Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg, Element e)`
Prints a message of the specified kind at the location of the element.
`void`
Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a)`
Prints a message of the specified kind at the location of the annotation mirror of the annotated element.
`void`
Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a, AnnotationValue v)`
Prints a message of the specified kind at the location of the annotation value inside the annotation mirror of the annotated element.

## Uses of CharSequence in javax.lang.model

Methods in javax.lang.model with parameters of type CharSequence
Modifier and Type
Method
Description
`static boolean`
SourceVersion.`isIdentifier(CharSequence name)`
Returns whether or not `name` is a syntactically valid identifier (simple name) or keyword in the latest source version.
`static boolean`
SourceVersion.`isKeyword(CharSequence s)`
Returns whether or not `s` is a keyword, boolean literal, or null literal in the latest source version.
`static boolean`
SourceVersion.`isKeyword(CharSequence s, SourceVersion version)`
Returns whether or not `s` is a keyword, boolean literal, or null literal in the given source version.
`static boolean`
SourceVersion.`isName(CharSequence name)`
Returns whether or not `name` is a syntactically valid qualified name in the latest source version.
`static boolean`
SourceVersion.`isName(CharSequence name, SourceVersion version)`
Returns whether or not `name` is a syntactically valid qualified name in the given source version.

## Uses of CharSequence in javax.lang.model.element

Subinterfaces of CharSequence in javax.lang.model.element
Modifier and Type
Interface
Description
`interface`
`Name`
An immutable sequence of characters.
Methods in javax.lang.model.element with parameters of type CharSequence
Modifier and Type
Method
Description
`boolean`
Name.`contentEquals(CharSequence cs)`
Compares this name to the specified `CharSequence`.

## Uses of CharSequence in javax.lang.model.util

Methods in javax.lang.model.util with parameters of type CharSequence
Modifier and Type
Method
Description
`default Set<? extends PackageElement>`
Elements.`getAllPackageElements(CharSequence name)`
Returns all package elements with the given canonical name.
`default Set<? extends TypeElement>`
Elements.`getAllTypeElements(CharSequence name)`
Returns all type elements with the given canonical name.
`default ModuleElement`
Elements.`getModuleElement(CharSequence name)`
Returns a module element given its fully qualified name.
`Name`
Elements.`getName(CharSequence cs)`
Returns a name with the same sequence of characters as the argument.
`PackageElement`
Elements.`getPackageElement(CharSequence name)`
Returns a package given its fully qualified name if the package is uniquely determinable in the environment.
`default PackageElement`
Elements.`getPackageElement(ModuleElement module, CharSequence name)`
Returns a package given its fully qualified name, as seen from the given module.
`TypeElement`
Elements.`getTypeElement(CharSequence name)`
Returns a type element given its canonical name if the type element is uniquely determinable in the environment.
`default TypeElement`
Elements.`getTypeElement(ModuleElement module, CharSequence name)`
Returns a type element given its canonical name, as seen from the given module.

## Uses of CharSequence in javax.swing.text

Classes in javax.swing.text that implement CharSequence
Modifier and Type
Class
Description
`class`
`Segment`
A segment of a character array representing a fragment of text.
Methods in javax.swing.text that return CharSequence
Modifier and Type
Method
Description
`CharSequence`
Segment.`subSequence(int start, int end)`
Returns a `CharSequence` that is a subsequence of this sequence.

## Uses of CharSequence in javax.tools

Methods in javax.tools that return CharSequence
Modifier and Type
Method
Description
`CharSequence`
FileObject.`getCharContent(boolean ignoreEncodingErrors)`
Returns the character content of this file object, if available.
`CharSequence`
ForwardingFileObject.`getCharContent(boolean ignoreEncodingErrors)`
`CharSequence`
SimpleJavaFileObject.`getCharContent(boolean ignoreEncodingErrors)`
This implementation always throws UnsupportedOperationException.