code: private byte readAndCheckByte() throws IOException, EOFException {
  		int b1 = in.read();
  		pos++;
  
  		if (-1 == b1) {
  			throw new EOFException();
  		}
  
  		return (byte) b1;
  	}
docs: Reads a byte from the input stream checking that the end of file (EOF)
  has not been encountered.
  
  @return byte read from input
  @throws IOException
  if an error is encountered while reading
  @throws EOFException
  if the end of file (EOF) is encountered.