public void openDomainFile(DomainFile domainFile) {
		
		String contentType = domainFile.getContentType();
		if (ContentHandler.UNKNOWN_CONTENT.equals(contentType)) {
			Msg.showInfo(this, tool.getToolFrame(), "Cannot Find Tool",
				"<html>File type is unrecognized: <b>" +
					HTMLUtilities.escapeHTML(domainFile.getName()) +
					"</b>.<br><br>File may have been created with a newer version of Ghidra.");
			return;
		}

		if (FolderLinkContentHandler.FOLDER_LINK_CONTENT_TYPE.equals(contentType)) {
			showLinkedFolderInViewedProject(domainFile);
			return;
		}

		Project project = tool.getProject();
		ToolServices toolServices = project.getToolServices();
		ToolTemplate defaultToolTemplate = toolServices.getDefaultToolTemplate(domainFile);
		if (defaultToolTemplate != null) {
			ToolButton button = toolBar.getToolButtonForToolConfig(defaultToolTemplate);
			if (button != null) {
				button.launchTool(domainFile);
				return;
			}
		}

		if (toolServices.launchDefaultTool(List.of(domainFile)) != null) {
			return;
		}

		Msg.showInfo(this, tool.getToolFrame(), "Cannot Find Tool",
			"<html>Cannot find tool to open file: <b>" +
				HTMLUtilities.escapeHTML(domainFile.getName()) +
				"</b>.<br><br>Make sure you have an appropriate tool installed <br>from the " +
				"<b>Tools->Import Default Tools...</b> menu.  Alternatively, you can " +
				"use <b>Tool->Set Tool Associations</b> menu to change how Ghidra " +
				"opens this type of file");
	}
builds the gui for the new front end
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FrontEndPlugin.java