void cloneWindow() {
		FGProvider newProvider = plugin.createNewDisconnectedProvider();
		Swing.runLater(() -> {
			newProvider.doSetProgram(currentProgram);

			FGData currentData = controller.getFunctionGraphData();

			SaveState state = new SaveState();
			writeConfigState(state);

			newProvider.readConfigState(state);

			FGController newController = newProvider.controller;
			FGData newData = FunctionGraphFactory.createClonedGraph(currentData, newController);
			newController.setFunctionGraphData(newData);
			newProvider.setLocationNow(currentLocation);
			newProvider.setGraphPerspective(controller.getGraphPerspective(currentLocation));
		});
	}
A construct that allows tests to control the notion of whether this provider has focus
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/FGProvider.java