code: @Override
  	public BlockChannelReader<MemorySegment> createBlockChannelReader(FileIOChannel.ID channelID,
  										LinkedBlockingQueue<MemorySegment> returnQueue) throws IOException
  	{
  		checkState(!isShutdown.get(), "I/O-Manager is shut down.");
  		return new AsynchronousBlockReader(channelID, this.readers[channelID.getThreadNum()].requestQueue, returnQueue);
  	}
docs: Creates a block channel reader that reads blocks from the given channel. The reader reads asynchronously,
  such that a read request is accepted, carried out at some (close) point in time, and the full segment
  is pushed to the given queue.
  
  @param channelID The descriptor for the channel to write to.
  @param returnQueue The queue to put the full buffers into.
  @return A block channel reader that reads from the given channel.
  @throws IOException Thrown, if the channel for the reader could not be opened.