void movePlaceholder(ComponentPlaceholder source, ComponentPlaceholder destination,
			WindowPosition windowPosition) {
		ComponentNode sourceNode = source.getNode();
		if (destination != null) {
			ComponentNode destinationNode = destination.getNode();
			sourceNode.remove(source);
			if (windowPosition == WindowPosition.STACK) {
				destinationNode.add(source);
			}
			else {
				destinationNode.split(source, windowPosition);
			}
		}
		else {
			sourceNode.remove(source);
			root.add(source, WindowPosition.RIGHT);
		}

		setNextFocusPlaceholder(source);
		scheduleUpdate();
	}
Moves the component associated with the given source placeholder object to a new docked
location relative to the given destination placeholder object

@param source the component placeholder for the component being moved
@param destination the component placeholder object used to base to move
@param windowPosition a code specifying the docking relationship between two placeholders
Ghidra/Framework/Docking/src/main/java/docking/DockingWindowManager.java