private void accumulateUngroupedIncidentEdges(Graph<FGVertex, FGEdge> graph,
			Set<FGVertex> ungroupedVertices, Set<FGEdge> ungroupedEdges) {

		for (FGVertex vertex : ungroupedVertices) {
			Collection<FGEdge> inEdges = graph.getInEdges(vertex);
			if (inEdges == null) {
				throw new AssertException(
					"cannot group vertex--it is not in the graph: " + vertex.getTitle());
			}

			for (FGEdge edge : inEdges) {
				ungroupedEdges.add(edge);
			}

			Collection<FGEdge> outEdges = graph.getOutEdges(vertex);
			for (FGEdge edge : outEdges) {
				ungroupedEdges.add(edge);
			}
		}
	}
Install the given grouped vertex into the graph, optionally animating the process.

@param controller the controller of the graph to be ungrouped
@param groupVertex The group vertex to be ungrouped
@param groupVertexLocation The default groupVertex location (only used if not
							  performing a relayout).
@param relayoutOverride true signals to always relayout the graph after grouping; false
                        indicates to use the tool's options to decide
@param animate whether to animate
@return true if the given group was added to the graph
Ghidra/Features/FunctionGraph/src/main/java/ghidra/graph/viewer/FGViewUpdater.java