private Set<FGEdge> getAllEdgesWithStart(FGVertex startVertex) {

		Set<FGEdge> matchingEdges = new HashSet<>(ungroupedEdges.size());
		for (FGEdge edge : ungroupedEdges) {
			if (edge.getStart().equals(startVertex)) {
				matchingEdges.add(edge);
			}
		}
		return matchingEdges;
	}
Seriously complicated algorithm (conceptually) to ensure that we never store in our 
collection of ungrouped edges (which we may sometime have to re-install) any group vertex, 
as when we go to restore the edges, we do not know how to do so if the group is no 
longer there (like as a result of an ungroup operation).
  
@param edge the edge to resolve/convert from using group vertices as endpoints to using
       real vertices as endpoints
@param updatedEdges all edges that we must record as a result of ungrouping the given edge
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/vertex/GroupedFunctionGraphVertex.java