code: private int fillBuffer() throws IOException {
  
  		int bytesRead = raf.read(buffer, 0, BUF_SIZE);
  
  		if (bytesRead >= 0) {
  			real_pos += bytesRead;
  			buf_end = bytesRead;
  			buf_pos = 0;
  		}
  
  		return bytesRead;
  	}
docs: Used to fill the buffer by calling the RAF read() method using the
  standard buffer size. If the read was successful, the real position is
  incremented by the number of bytes read and the buffer end is set to the
  number of bytes read.
  
  @return the number of bytes read
  @throws IOException