private void createRootNode(Program theProgram) {
		if (theProgram == null) {
			root = new ProgramNode(null, "No Program");
		}
		else {
			ProgramModule rm = theProgram.getListing().getRootModule(treeName);
			if (rm == null) {
				return;
			}
			root = new ProgramNode(theProgram, rm, rm.getName());
			versionTag = rm.getVersionTag();
		}

		model.setRoot(root);
		root.setTree(this);
	}
Generate a fragment name; if there is a symbol at the start
of the fragment, and if it is user defined, then use the label 
as the fragment name; otherwise, just use the address as the name.
@param addr first address of fragment

@return String name of fragment
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/ProgramDnDTree.java