code: @NotNull
  	public ByteBuf take() {
  		assert hasRemaining();
  		ByteBuf buf = bufs[first];
  		first = next(first);
  		return buf;
  	}
docs: Returns the first ByteBuf of the queue if the queue is not empty.
  Then {@code first} index is increased by 1 or set to the value 0
  if it has run a full circle of the queue.
  
  @return the first ByteBuf of this {@code ByteBufQueue}