code: public void readBytes(ByteBuffer destination)
      {
          int length = destination.remaining();
          slice.getBytes(position, destination);
          position += length;
      }
docs: Transfers this buffer's data to the specified destination starting at
  the current {@code position} until the destination's position
  reaches its limit, and increases the {@code position} by the
  number of the transferred bytes.
  
  @throws IndexOutOfBoundsException if {@code destination.remaining()} is greater than
  {@code this.available()}