private List<ActionState<String>> getLayoutActionStates() {
		List<String> names = LayoutAlgorithmNames.getLayoutAlgorithmNames();
		List<ActionState<String>> actionStates = new ArrayList<>();
		for (String layoutName : names) {
			ActionState<String> state = new ActionState<>(layoutName,
				DefaultDisplayGraphIcons.LAYOUT_ALGORITHM_ICON, layoutName);

			// condense hierarchical action help to the top-level help description
			String anchor = layoutName;
			if (layoutName.contains(VERT_MIN_CROSS)) {
				anchor = VERT_MIN_CROSS;
			}
			else if (layoutName.contains(MIN_CROSS)) {
				anchor = MIN_CROSS;
			}

			state.setHelpLocation(new HelpLocation(ACTION_OWNER, anchor));
			actionStates.add(state);
		}
		return actionStates;
	}
Gather all source and target vertices until there are no more available.
@return all the vertices in the component(s) of the selected vertices
Ghidra/Features/GraphServices/src/main/java/ghidra/graph/visualization/DefaultGraphDisplay.java