@Override
		public void monitoredRun(TaskMonitor monitor) {
			if (program == null || program.isClosed()) {
				return;
			}
			try {
				ProgramFragment fragment =
					program.getListing().getFragment(treePanel.getTreeName(), loc.getAddress());
				if (fragment == null) {
					return;
				}
				LinkedList<String> list = new LinkedList<>();
				list.add(fragment.getName());
				Group group = fragment;

				ArrayList<LinkedList<String>> pathNameList = new ArrayList<>();
				// need GroupPath for all occurrences of fragment
				setAncestorList(group, list, pathNameList);

				paths = new GroupPath[pathNameList.size()];
				for (int i = 0; i < paths.length; i++) {
					LinkedList<String> l = pathNameList.get(i);
					paths[i] = convertToGroupPath(l);
				}
			}
			catch (Exception e) {
				if (myProgram == program && program != null && !program.isClosed()) {
					Msg.showError(this, treePanel, "Error Finding Fragments",
						"Could not find fragments for location", e);
				}
			}
		}
Get the address set for the given group. If group is a Module, then
recursively call this method for all descendants.
@param group either a Fragment or a Module
@param set address set to populate
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/TreeViewProvider.java