@Override
	public void fireTreeExpanded(TreePath path) {
		ProgramNode node = (ProgramNode) path.getLastPathComponent();

		if (!node.wasVisited()) {
			visitNode(node);

			buildNodeList();
		}
		super.fireTreeExpanded(path);
	}
Fire tree expansion event; if node has not been visited,
then populate the node with its children.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/ProgramDnDTree.java