private JPanel buildTitledTablePanel(String title, GhidraFilterTable<?> table,
			IntSupplier nonFilteredRowCount) {
		JPanel panel = new JPanel(new BorderLayout());
		panel.setBorder(BorderFactory.createEmptyBorder(10, 2, 10, 2));
		JLabel titleLabel = new JLabel(title);
		panel.add(titleLabel, BorderLayout.NORTH);
		panel.add(table, BorderLayout.CENTER);

		RowObjectTableModel<?> model = table.getModel();
		model.addTableModelListener((e) -> {
			int rowCount = model.getRowCount();
			String text = title + "  - " + rowCount + " results";
			int nonFilteredSize = nonFilteredRowCount.getAsInt();
			if (nonFilteredSize != rowCount) {
				text += "   (Filtered from " + nonFilteredSize + " results)";
			}
			titleLabel.setText(text);
		});
		return panel;
	}
ComponentProvider for displaying BSim Similar Functions Search results.
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/search/results/BSimSearchResultsProvider.java