private void addFromToolButton(ToolButton toolButton) {
		PluginTool tool = null;
		if (associatedRunningTool != null && toolButton.associatedRunningTool != null) {
			final PluginTool t2 = toolButton.associatedRunningTool;
			Swing.runLater(() -> connectTools(associatedRunningTool, t2));
			return;
		}

		boolean accepted = false;
		if (toolButton.associatedRunningTool == null) {
			tool = plugin.getActiveWorkspace().runTool(toolButton.template);
			accepted = tool.acceptDomainFiles(associatedRunningTool.getDomainFiles());
			final PluginTool t = tool;
			Swing.runLater(() -> connectTools(t, associatedRunningTool));
		}
		else {
			tool = plugin.getActiveWorkspace().runTool(template);
			accepted = tool.acceptDomainFiles(toolButton.associatedRunningTool.getDomainFiles());
			final PluginTool t = tool;
			final PluginTool t2 = toolButton.associatedRunningTool;
			Swing.runLater(() -> connectTools(t, t2));
		}

		if (!accepted) {
			Msg.error(this, tool.getName() + " did not accept data.");
		}
	}
The given list must contain only valid domain files (i.e., no folders or null items)
@param fileList The list of file objects to validate
@return true if <b>all</b> items in the list are supported
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolButton.java