Simple basic class for optimized readers in this package; implements
"cookie-cutter" methods that are used by all actual implementations.
JSON actually limits available Unicode range in the high end
to the same as xml (to basically limit UTF-8 max byte sequence
length to 4)
final protected static char NULL_CHAR = (char) 0;
final protected static char NULL_BYTE = (byte) 0;
Although this method is implemented by the base class, AND it should
never be called by main code, let's still implement it bit more
efficiently just in case
This method should be called along with (or instead of) normal
close. After calling this method, no further reads should be tried.
Method will try to recycle read buffers (if any).
protected void reportBounds(char cbuf, int start, int len)
throw new IOException("Strange I/O stream, returned 0 bytes on read");