code: void execute(Request request) {
          log.debug("{}: StorageRead.Execute {}", this.traceObjectId, request);
          synchronized (this.lock) {
              Exceptions.checkNotClosed(this.closed, this);
              Request existingRequest = findOverlappingRequest(request);
              if (existingRequest != null) {
                  // We found an overlapping request. Adjust the current request length.
                  int newLength = (int) (existingRequest.getOffset() + existingRequest.getLength() - request.getOffset());
                  if (newLength > 0 && newLength < request.getLength()) {
                      request.adjustLength(newLength);
                      existingRequest.addDependent(request);
                      return;
                  }
              }
  
              this.pendingRequests.put(request.getOffset(), request);
          }
  
          // Initiate the Storage Read.
          executeStorageRead(request);
      }
docs: Queues the given request. The Request will be checked against existing pending Requests. If necessary, this request
  will be adjusted to take advantage of an existing request (i.e., if it overlaps with an existing request, no actual
  Storage read will happen for this one, yet the result of the previous one will be used instead). The callbacks passed
  to the request will be invoked with either the result of the read or with the exception that caused the read to fail.
  
  @param request The request to queue.