.onUnmappableCharacter(CodingErrorAction.REPLACE);
decodedStringCache = reportDecoder.decode(byteBuffer.asReadOnlyBuffer()).toString();
} catch (UnsupportedCharsetException neverThrown) {
throw new AssertionError(neverThrown);
} catch (CharacterCodingException ex) {
codingException = new MessageStringCodingException(ex);
try {
CharsetDecoder replaceDecoder = Charset.forName("UTF-8").newDecoder()
.onMalformedInput(CodingErrorAction.REPLACE)
.onUnmappableCharacter(CodingErrorAction.REPLACE);
decodedStringCache = replaceDecoder.decode(byteBuffer.asReadOnlyBuffer()).toString();