} else maxNextCharInd += i;
} maxNextCharInd += i;
	protected void FillBuff() throws java.io.IOException {		if (maxNextCharInd == available) {			if (available == bufsize) {				if (tokenBegin > 2048) {					bufpos = maxNextCharInd = 0;					available = tokenBegin;				} else if (tokenBegin < 0)					bufpos = maxNextCharInd = 0;				else					ExpandBuff(false);			} else if (available > tokenBegin)				available = bufsize;			else if ((tokenBegin - available) < 2048)				ExpandBuff(true);			else				available = tokenBegin;		}		int i;		try {			if ((i = inputStream.read(buffer, maxNextCharInd, available					- maxNextCharInd)) == -1) {				inputStream.close();				throw new java.io.IOException();			} else				maxNextCharInd += i;			return;		} catch (java.io.IOException e) {			--bufpos;			backup(0);			if (tokenBegin == -1)				tokenBegin = bufpos;			throw e;		}	}