public boolean fill(Reader reader,int pos) throws IOException {
  int res=reader.read(fBuf);
  if (res == -1) {
    fOffset=pos;
    fLength=0;
    return true;
  }
  int charsRead=res;
  while (charsRead < BUFFER_SIZE) {
    res=reader.read(fBuf,charsRead,BUFFER_SIZE - charsRead);
    if (res == -1) {
      fOffset=pos;
      fLength=charsRead;
      return true;
    }
    charsRead+=res;
  }
  fOffset=pos;
  fLength=BUFFER_SIZE;
  return false;
}

public boolean fill ( Reader reader , int pos ) throws IOException { int res = reader . read ( fBuf ) ; if ( res == - 1 ) { fOffset = pos ; fLength = 0 ; return true ; } int charsRead = res ; while ( charsRead < BUFFER_SIZE ) { res = reader . read ( fBuf , charsRead , BUFFER_SIZE - charsRead ) ; if ( res == - 1 ) { fOffset = pos ; fLength = charsRead ; return true ; } charsRead += res ; } fOffset = pos ; fLength = BUFFER_SIZE ; return false ; }
fills the buffer by reading from the given reader .
