code: private void fillReadBuffer() throws IOException {
  		// special case for compressed files.
  		if(splitLength == FileInputFormat.READ_WHOLE_SPLIT_FLAG) {
  			int read = this.stream.read(this.readBuffer, 0, this.readBufferSize);
  			if (read == -1) {
  				exhausted = true;
  			} else {
  				this.streamPos += read;
  				this.readBufferPos = 0;
  				this.readBufferLimit = read;
  			}
  			return;
  		}
  		
  		int toRead = (int) Math.min(this.streamEnd - this.streamPos, this.readBufferSize);
  		if (toRead <= 0) {
  			this.exhausted = true;
  			return;
  		}
  		
  		// fill read buffer
  		int read = this.stream.read(this.readBuffer, 0, toRead);
  		
  		if (read <= 0) {
  			this.exhausted = true;
  		} else {
  			this.streamPos += read;
  			this.readBufferPos = 0;
  			this.readBufferLimit = read;
  		}
  	}
docs: Fills the next read buffer from the file stream.
  
  @throws IOException