private void createModules(ProgramModule parent, ProgramModule sourceParent,
			ArrayList<String> fragmentNameList) {

		parent.setComment(sourceParent.getComment());
		Group[] kids = sourceParent.getChildren();
		for (Group kid : kids) {
			if (currentMonitor.isCancelled()) {
				return;
			}
			String name = kid.getName();
			if (kid instanceof ProgramModule) {
				createModule(parent, name, (ProgramModule) kid, fragmentNameList);
			}
			else {
				createFragment(parent, name, (ProgramFragment) kid, fragmentNameList);
			}
		}
	}
Called when we need to know which tree changed (not enough to know
that the structures are different).
@param root1 root of the original program 
@param root2 root for either the source tree or the destination tree
@return true if there was no original root, OR the modification
numbers for the original tree and tree containing root do not match
Ghidra/Features/Base/src/main/java/ghidra/app/merge/tree/ProgramTreeMergeManager.java