public static String generateGroupVertexDescription(Set<FGVertex> vertices) {
		ArrayList<FGVertex> sortedList = new ArrayList<>(vertices);
		Collections.sort(sortedList, (v1, v2) -> {
			Address a1 = v1.getVertexAddress();
			Address a2 = v2.getVertexAddress();
			return a1.compareTo(a2);
		});

		StringBuilder buffy = new StringBuilder();
		for (FGVertex subVertex : sortedList) {
			if (subVertex instanceof GroupedFunctionGraphVertex) {
				buffy.append("Group Vertex").append('\n');
				String text = ((GroupedFunctionGraphVertex) subVertex).getUserText();
				StringTokenizer tokenizzy = new StringTokenizer(text, "\n");
				while (tokenizzy.hasMoreTokens()) {
					buffy.append('\t').append(tokenizzy.nextToken()).append('\n');
				}
			}
			else {
				buffy.append(getVertexDescription(subVertex));
			}

			buffy.append('\n');
		}
		return buffy.toString();
	}
Creates a new group based upon this one, but with the given vertices (and incident edges)
removed. 

@param verticesToRemove the vertices to not include in the new group
@return the new group
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/vertex/GroupedFunctionGraphVertex.java