code: public void setBytes(int index, byte[] source, int sourceIndex, int length)
      {
          checkPositionIndexes(index, index + length, this.length);
          checkPositionIndexes(sourceIndex, sourceIndex + length, source.length);
          index += offset;
          System.arraycopy(source, sourceIndex, data, index, length);
      }
docs: Transfers the specified source array's data to this buffer starting at
  the specified absolute {@code index}.
  
  @throws IndexOutOfBoundsException if the specified {@code index} is less than {@code 0},
  if the specified {@code srcIndex} is less than {@code 0},
  if {@code index + length} is greater than
  {@code this.capacity}, or
  if {@code srcIndex + length} is greater than {@code src.length}