private int read() { try { if (readBegin == readEnd) { // need to fill the buffer int len = fillBuf(); if (len == -1) { return -1; } assert len != 0; readBegin = storeEnd; readEnd = readBegin + len; } return buf[readBegin++]; } catch (IOException ioe) { throw new JsonException(JsonMessages.TOKENIZER_IO_ERR(), ioe); } }