private void disposeOldRoots(GTreeNode oldModelRoot, GTreeNode oldViewRoot) {
		if (oldModelRoot != null && oldModelRoot != realModelRootNode) {
			oldModelRoot.dispose();
		}

		// If there is a filter applied, clean up the filtered nodes. Note that filtered nodes
		// are expected to be shallow clones of the model nodes, so we don't want to call full
		// dispose on the filtered nodes because internal clean-up should happen when the
		// model nodes are disposed. The disposeClone() just breaks the child-parent ties.
		if (oldViewRoot != null && oldViewRoot != realViewRootNode) {
			oldViewRoot.disposeClone(); // safe to call even if we disposed the same node above
		}
	}
Sets the root node for this tree.
<P>
NOTE: if this method is not called from the Swing thread, then the root node will be set
later on the Swing thread. That is, this method will return before the work has been done.

@param rootNode The node to set as the new root.
Ghidra/Framework/Docking/src/main/java/docking/widgets/tree/GTree.java