private void createActions() {
		new ActionBuilder("Search Info", getOwner())
				.toolBarIcon(Icons.INFO_ICON)
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Search_Info_Action"))
				.onAction(c -> showSearchInfo())
				.buildAndInstallLocal(this);

		new ActionBuilder("Show Searched Functions", getOwner())
				.toolBarIcon(FUNCTIONS_ICON)
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Searched_Functions"))
				.onAction(c -> showSearchedFunctions())
				.buildAndInstallLocal(this);

		new ActionBuilder("Filter Results", getOwner())
				.toolBarIcon(Icons.CONFIGURE_FILTER_ICON)
				.helpLocation(
					new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Filter_Results_Action"))
				.onAction(c -> showFilterPanel())
				.buildAndInstallLocal(this);

		new ActionBuilder("Filter Executable", getOwner())
				.popupMenuPath("Filter on this Executable")
				.description("Filter on a specific executable in the function match table")
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Filter_On_Executable"))
				.withContext(ExecutableTableActionContext.class)
				.enabledWhen(c -> c.getSelectedRowCount() == 1)
				.onAction(this::filterOnExecutable)
				.buildAndInstallLocal(this);

		new ActionBuilder("Load Executable", getOwner())
				.popupMenuPath("Load Executable")
				.description("Load the selected executable into the Codebrowser")
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Load_Executable"))
				.withContext(ExecutableTableActionContext.class)
				.enabledWhen(c -> c.getSelectedRowCount() == 1)
				.onAction(this::loadExecutable)
				.buildAndInstallLocal(this);

		new ActionBuilder("Compare Functions", getOwner())
				.popupMenuPath("Compare Functions")
				.popupMenuGroup("1")
				.keyBinding("shift c")
				.sharedKeyBinding()
				.description("Compares the Functions with its remote match")
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Compare_Functions"))
				.withContext(BSimMatchesTableActionContext.class)
				.enabledWhen(c -> c.getSelectedRowCount() > 0)
				.onAction(this::compareFunctions)
				.buildAndInstallLocal(this);

		new ActionBuilder("Apply Function Name", getOwner())
				.popupMenuPath("Apply Name")
				.popupMenuGroup(APPLY_GROUP, "1")
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Apply_Name"))
				.withContext(BSimMatchesTableActionContext.class)
				.enabledWhen(c -> c.getSelectedRowCount() > 0)
				.onAction(this::applyName)
				.buildAndInstallLocal(this);

		new ActionBuilder("Apply Function Signature", getOwner())
				.popupMenuPath("Apply Signature")
				.popupMenuGroup(APPLY_GROUP, "2")
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Apply_Signature"))
				.withContext(BSimMatchesTableActionContext.class)
				.enabledWhen(c -> c.getSelectedRowCount() > 0)
				.onAction(this::applySignature)
				.buildAndInstallLocal(this);

		new ActionBuilder("Apply Signature and Datatypes", getOwner())
				.popupMenuPath("Apply Signature and Data Types")
				.popupMenuGroup(APPLY_GROUP, "3")
				.helpLocation(
					new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Apply_Signature_With_Datatypes"))
				.withContext(BSimMatchesTableActionContext.class)
				.enabledWhen(c -> c.getSelectedRowCount() > 0)
				.onAction(this::applySignatureWithDatatypes)
				.buildAndInstallLocal(this);

		showExecutableTableAction = new ToggleActionBuilder("Show Executables Table", getOwner())
				.toolBarIcon(SPLIT_VIEW_ICON)
				.description("Toggles showing Executables table")
				.helpLocation(
					new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Hide_Show_Executables_Table"))
				.selected(true)
				.onAction(c -> showExecutableTable(showExecutableTableAction.isSelected()))
				.buildAndInstallLocal(this);

		addLocalAction(new SelectionNavigationAction(plugin, matchesTable.getTable()));

		new ActionBuilder("Clear BSim Error Status", getOwner())
				.popupMenuPath("Clear error status")
				.helpLocation(new HelpLocation(BSimSearchPlugin.HELP_TOPIC, "Clear_Error_Status"))
				.withContext(BSimMatchesTableActionContext.class)
				.enabledWhen(this::canClearErrors)
				.onAction(this::clearErrors)
				.buildAndInstallLocal(this);
	}
ComponentProvider for displaying BSim Similar Functions Search results.
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/search/results/BSimSearchResultsProvider.java