code: public Promise<Void> read(ByteBuf buf, long position) {
  		return sanitize(ofBlockingRunnable(executor, () -> {
  			synchronized (mutexLock) {
  				int readBytes = 0;
  				long pos = position;
  				do {
  					ByteBuffer byteBuffer = buf.toWriteByteBuffer();
  					try {
  						readBytes = channel.read(byteBuffer, pos += readBytes);
  					} catch (IOException e) {
  						throw new UncheckedException(e);
  					}
  					buf.ofWriteByteBuffer(byteBuffer);
  				} while (readBytes != -1 && buf.canWrite());
  			}
  		}));
  	}
docs: Reads a sequence of bytes from this channel into the given buffer asynchronously,
  starting at the given position.
  Reads are happening in other thread(s).
  
  @param buf      the buffer into which bytes are to be transferred
  @param position the file position at which the transfer is to begin;
  must be non-negative