docs: private void doCopy(
        final int offset, final MemoryChunk other, final int otherOffset, final int count) {
      if (!(other instanceof BufferMemoryChunk)) {
        throw new IllegalArgumentException("Cannot copy two incompatible MemoryChunks");
      }
      Preconditions.checkState(!isClosed());
      Preconditions.checkState(!other.isClosed());
      MemoryChunkUtil.checkBounds(offset, other.getSize(), otherOffset, count, mSize);
      mBuffer.position(offset);
      // ByteBuffer can't be null at this point
      other.getByteBuffer().position(otherOffset);
      // Recover the necessary part to be copied as a byte array.
      // This requires a copy, for now there is not a more efficient alternative.
      byte[] b = new byte[count];
      mBuffer.get(b, 0, count);
      other.getByteBuffer().put(b, 0, count);
    }