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