public LayoutPositions<V, E> calculateDefaultLayoutLocations(Set<V> verticesToIgnore) {

		VisualGraphLayout<V, E> layout = graph.getLayout();
		VisualGraph<V, E> newGraph = graph.copy();
		newGraph.removeVertices(verticesToIgnore);

		//
		// A bit of kludge.  The layout in the task will fail if the vertices' components are not
		// realized, which must happen on the Swing thread.
		//
		ensureVerticesComponentsCreated(newGraph);

		CalculateLayoutLocationsTask<V, E> task =
			new CalculateLayoutLocationsTask<>(newGraph, layout);
		new TaskLauncher(task, null, 2000); // this call will block

		return task.getLocations();
	}
Calculates default vertex locations for the current graph by using the current layout, 
excluding those vertices in the given <i>ignore</i> set.  The graph, 
layout and vertices will be unaltered.

@param verticesToIgnore The set of vertices which should be excluded from the layout process
@return The mapping of all arranged vertices to their respective locations
Ghidra/Framework/Graph/src/main/java/ghidra/graph/job/AbstractGraphTransitionJob.java