public PluginTool launchDefaultTool(Program program) {

		if (tool != null) {
			throw new AssertException("Tool already exists--you are doing something wrong!");
		}

		AbstractGuiTest.runSwing(() -> {
			tool = launchDefaultTool();
			ProgramManager pm = tool.getService(ProgramManager.class);
			pm.openProgram(program);
		});

		if (tool == null) {
			throw new NullPointerException(
				"Unable to launch the default tool: " + ToolServices.DEFAULT_TOOLNAME);
		}

		AbstractGuiTest.waitForSwing();

		removeAllConsumersExceptTool(program, tool);

		if (program != null) {
			programManager.add(program);
		}

		return tool;
	}
Launches the default tool of the test system ("CodeBrowser") using the
given program.   This method will load the tool from resources and <b>not from the
user's Ghidra settings</b>.
<p>
<b>Note:</b> Calling this method also changes the tool that this
instance of the TestEnv is using, which is the reason for the existence
of this method.

@param program The program to load into the default tool; may be null
@return the tool that is launched
Ghidra/Features/Base/src/main/java/ghidra/test/TestEnv.java