// if ((ch >= 0xD800 && ch <= 0xDFFF) || ch >= 0xFFFE)
if ((b0 == 0xED && b1 >= 0xA0) || (b0 == 0xEF && b1 == 0xBF && b2 >= 0xBE)) {
fCurrentChunk = saveChunk;
fCurrentIndex = saveIndex;
fCurrentOffset = saveOffset;
fMostRecentData = saveChunk.toByteArray();
fMostRecentByte = b0;
return false;
}
if ((XMLCharacterProperties.fgCharFlags[((0x0f & b0)<<12) + ((0x3f & b1)<<6) + (0x3f & b2)] & flag) == 0) { // zzzz yyyy yyxx xxxx (0x800 to 0xffff)
fCurrentChunk = saveChunk;