code: public void getBytes(int index, ByteBuffer destination)
      {
          checkPositionIndex(index, this.length);
          index += offset;
          destination.put(data, index, Math.min(length, destination.remaining()));
      }
docs: Transfers this buffer's data to the specified destination starting at
  the specified absolute {@code index} until the destination's position
  reaches its limit.
  
  @throws IndexOutOfBoundsException if the specified {@code index} is less than {@code 0} or
  if {@code index + dst.remaining()} is greater than
  {@code this.capacity}