public void readBytes(ByteBuffer destination)
    {
        int length = destination.remaining();
        slice.getBytes(position, destination);
        position += length;
    }
public void readBytes ( ByteBuffer destination ) { int length = destination . remaining ( ) ; slice . getBytes ( position , destination ) ; position += length ; }
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()}