code: public BlockChannelReader createBlockChannelReader(Channel.ID channelID,
  										LinkedBlockingQueue<MemorySegment> returnQueue)
  	throws IOException
  	{
  		if (this.isClosed) {
  			throw new IllegalStateException("I/O-Manger is closed.");
  		}
  		
  		return new BlockChannelReader(channelID, this.readers[channelID.getThreadNum()].requestQueue, returnQueue, 1);
  	}
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.