private static boolean performSwingThreadRequiredWork(FunctionGraph functionGraph,
			TaskMonitor monitor) throws CancelledException {

		Collection<FGVertex> vertices = functionGraph.getVertices();
		monitor.initialize(vertices.size(), "Building vertex components");
		for (FGVertex v : vertices) {
			monitor.increment();
			try {
				Swing.runNow(v::getComponent);
			}
			catch (Exception e) {
				return false;
			}
		}
		return true;
	}
Creates a new function graph for the given function

@param function the function to graph
@param controller the controller needed by the function graph
@param program the function's program
@param monitor the task monitor
@return the new graph
@throws CancelledException if the task is cancelled via the monitor
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/FunctionGraphFactory.java