public void createActions() {
		DockingAction selectionAction =
			new MakeProgramSelectionAction(this.plugin, filterTable.getTable());
		this.addLocalAction(selectionAction);
		Set<SarifResultHandler> resultHandlers = controller.getSarifResultHandlers();
		List<SarifColumnKey> columns = model.getDataFrame().getColumns();
		List<String> keyNames = new ArrayList<>();
		for (SarifColumnKey key : columns) {
			keyNames.add(key.getName());
		}
		for (SarifResultHandler handler : resultHandlers) {
			if (keyNames.contains(handler.getKey())) {
				if (handler.getActionName() != null) {
					this.addLocalAction(handler.createAction(this));
				}
			}
		}
	}
Columns are added to the table based on if they are required by the SARIF
format or are a taxonomy that the SARIF file defines We "support" certain
taxonomies here by if the names match adding additional context actions that
can be performed
Ghidra/Features/Sarif/src/main/java/sarif/view/SarifResultsTableProvider.java