protected Collection<FGVertex> getVerticesToMove() {
		Collection<FGVertex> graphVertices = graph.getVertices();
		if (relayout) {
			return new HashSet<>(graphVertices);
		}

		HashSet<FGVertex> set = new HashSet<>(groupVertex.getVertices());

		// this needs to be in intersection of group vertices with those still in the graph, as the
		// group vertices may no longer be in the graph, such as when adding to an existing group
		set.retainAll(graphVertices);
		return set;
	}
Constructor

@param controller the controller of the graph to be ungrouped
@param groupVertex The group vertex to be ungrouped
@param newVertices the vertices that will remain after the grouping/ungrouping process has
                   completed
@param verticesToRemove the vertices that will be removed from the graph after the 
                        grouping/ungrouping process has completed
@param relayoutOverride a boolean that when true signals to perform a layout <b>
		  	  			   regardless of the user's relayout options</b>.  This is required to
                        perform a manual relayout.
@param useAnimation whether to use animation
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/util/job/AbstractGroupingFunctionGraphJob.java