code: private void copyToTargetBufferFrom(ByteBuffer source) {
  		if (this.targetBuffer == null) {
  			return;
  		}
  
  		int needed = source.remaining();
  		int available = this.limit - this.position;
  		int toCopy = Math.min(needed, available);
  
  		this.targetBuffer.getMemorySegment().put(this.position, source, toCopy);
  
  		this.position += toCopy;
  	}
docs: Copies as many bytes as possible from the given {@link ByteBuffer} to the {@link MemorySegment} of the target
  {@link Buffer} and advances the current position by the number of written bytes.
  
  @param source the {@link ByteBuffer} to copy data from