protected synchronized void doAddNode(int index, GTreeNode node) {
		List<GTreeNode> kids = children();
		if (kids.contains(node)) {
			return;
		}
		int insertIndex = Math.min(kids.size(), index);
		kids.add(insertIndex, node);
		node.setParent((GTreeNode) this);
		doFireNodeAdded(node);
	}
Adds a node to this node's children at the given index and notifies the tree.
Must be called from the swing thread.
@param index the index at which to add the new node
@param node the node to add as a child to this node
Ghidra/Framework/Docking/src/main/java/docking/widgets/tree/CoreGTreeNode.java