ProgramNode insertGroup(ProgramNode parent, Group group, int index) {

		if (parent == null) {
			parent = root;
		}
		ProgramNode child = new ProgramNode(program, group);

		model.insertNodeInto(child, parent, index);
		child.setParentModule(parent.getModule());

		// do the lazy population which means don't
		// populate a node until it has been visited
		// (see fireTreeExpanded())

		// update the table of names
		int keyIndex = nameIndexer.get(group.getName());
		if (keyIndex < 0) {
			nameIndexer.put(group.getName());
		}
		return child;
	}
Create a new ProgramNode for the given group and
add it to the treeModel.
@param parent parent of the group to be inserted
@param group group to add
@param index index of new child
@return the new child node
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/ProgramDnDTree.java