private JComponent buildPanel() {
		filterTable = new GhidraFilterTable<>(this.model);
		GhidraTable table = filterTable.getTable();
		table.installNavigation(plugin.getTool());
		table.setName("DataTable");

		model.addTableModelListener(e -> {
			Msg.info(this, "TableModelListener fired");
			int rowCount = model.getRowCount();
			int unfilteredCount = model.getUnfilteredRowCount();
			model.getDataFrame().dumpTableToDebug();

			setSubTitle("" + rowCount + " items" +
				(rowCount != unfilteredCount ? " (of " + unfilteredCount + ")" : ""));
			filterTable.repaint();
		});

		JPanel panel = new JPanel(new BorderLayout());
		panel.add(filterTable, BorderLayout.CENTER);

		return panel;
	}
Show the SARIF result as a table and build possible actions on the table
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/plugin/core/decompiler/taint/TaintLabelsTableProvider.java