code: public UnsignedInteger32 postReadRequest(byte[] handle, long offset, int len)
  			throws SftpStatusException, SshException {
  		try {
  			UnsignedInteger32 requestId = nextRequestId();
  			Packet msg = createPacket();
  			msg.write(SSH_FXP_READ);
  			msg.writeInt(requestId.longValue());
  			msg.writeBinaryString(handle);
  			msg.writeUINT64(offset);
  			msg.writeInt(len);
  
  			sendMessage(msg);
  
  			return requestId;
  		} catch (SshIOException ex) {
  			throw ex.getRealException();
  		} catch (IOException ex) {
  			throw new SshException(ex);
  		}
  
  	}
docs: Post a read request to the server and return the request id; this is used
  to optimize file downloads. In normal operation the files are transfered
  by using a synchronous set of requests, however this slows the download
  as the client has to wait for the servers response before sending another
  request.
  
  @param handle
  @param offset
  @param len
  @return UnsignedInteger32
  @throws SshException