protected void makeProgramSelection(ProgramSelection selection, ActionContext context) {

		if (selection.isEmpty()) {
			return;
		}

		if (navigatable != null) {
			Program program = table.getProgram();
			navigatable.goTo(program, new ProgramLocation(program, selection.getMinAddress()));
			navigatable.setSelection(selection);
			navigatable.requestFocus();
			return;
		}

		if (plugin == null) {
			throw new IllegalStateException("The Make Program Selection action cannot be used " +
				"without a plugin or a navigatable unless the client overrides this method");
		}

		PluginEvent event =
			new ProgramSelectionPluginEvent(plugin.getName(), selection, table.getProgram());
		plugin.firePluginEvent(event);
	}
The normal constructor for this action.
<p>
The given plugin will be used along with the given table to fire program selection events as
the action is executed.

@param plugin the plugin
@param table the table
Ghidra/Features/Base/src/main/java/ghidra/util/table/actions/MakeProgramSelectionAction.java