void add(ProgramNode destNode, ProgramNode[] dropNodes, int dropAction, int relativeMousePos)
			throws NotFoundException, CircularDependencyException, DuplicateGroupException {

		ProgramModule targetModule = destNode.getModule();
		ProgramFragment targetFrag = destNode.getFragment();
		if (targetModule == null && targetFrag == null) {
			return; // ignore the drop
		}

		int transactionID = tree.startTransaction("Reorder");
		if (transactionID < 0) {
			return;
		}

		try {
			for (ProgramNode dropNode : dropNodes) {
				ProgramNode parentNode = (ProgramNode) destNode.getParent();
				reorderNode(destNode, dropAction, relativeMousePos, parentNode, dropNode);
			}
		}
		finally {
			tree.endTransaction(transactionID, true);
		}
	}
Add the given data to the destination node.
@param destNode destination node for the data.
@param dropNode data to add
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/ReorderManager.java