public Reader getReader() {
        InputStream inputStream = fInputStream;

        if (inputStream == null) {
            try {
                inputStream = UnsynchronizedByteArrayInputStream.builder().setByteArray(fRawInput).setLength(fRawLength).get();
            }
            catch (IOException ex) {
                return null;
            }
        }

        try {
            inputStream.reset();
            return new InputStreamReader(inputStream, getName());
        } catch (IOException e) {
            return null;
        }
    }
Create a java.io.Reader for reading the Unicode character data corresponding
to the original byte data supplied to the Charset detect operation.
<p>
CAUTION:  if the source of the byte data was an InputStream, a Reader
can be created for only one matching char set using this method.  If more
than one charset needs to be tried, the caller will need to reset
the InputStream and create InputStreamReaders itself, based on the charset name.

@return the Reader for the Unicode character data.
@stable ICU 3.4
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java