code: public final Future<Void> multiThreadedRead (final String targetName, final ByteBuffer dst, final int logicalBlockAddress, final long transferLength) throws NoSuchSessionException , TaskExecutionException {
  
          final Future<Void> returnVal = getSession(targetName).read(dst, logicalBlockAddress, transferLength);
          return returnVal;
      }
docs: Invokes a read operation for the session <code>targetName</code> and store the read bytes in the buffer
  <code>dst</code>. Start reading at the logical block address and request <code>transferLength</code> blocks.
  
  
  @param targetName The name of the session to invoke this read operation.
  @param dst The buffer to store the read data.
  @param logicalBlockAddress The logical block address of the beginning.
  @param transferLength Number of bytes to read.
  @throws Exception if any error occurs.
  
  @return FutureObject for MultiThreadedReads
  @throws TaskExecutionException if execution fails
  @throws NoSuchSessionException if session is not found