private DecoderException createDecoderException(final int byteCnt) {
        final byte[] malformedBytes = new byte[inputBuffer.remaining()];
        inputBuffer.get(malformedBytes);
        final long offsetOfBadBytes = lastSuppliedByteOffset - (byteCnt - 1);
        return new DecoderException(charsetDecoder.charset(), malformedBytes, offsetOfBadBytes);
    }
@return A {@link DecodedChar} representing the character decoded from n bytes supplied by byteSupplier or
null if byteSupplier has no bytes to supply.
@throws DecoderException If it fails to decode a char after consuming MAX_BYTES_PER_CHAR bytes
                         from byteSupplier
stroom-pipeline/src/main/java/stroom/pipeline/reader/ByteStreamDecoder.java