private JComponent buildMainPanel() {
		JPanel panel = new JPanel(new BorderLayout());
		panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

		serverTableModel = new BSimServerTableModel(serverManager);
		serverTable = new GFilterTable<>(serverTableModel);
		GTable table = serverTable.getTable();
		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		table.getSelectionModel().addListSelectionListener(e -> notifyContextChanged());
		panel.add(serverTable, BorderLayout.CENTER);

		if (serverTableModel.getRowCount() > 0) {
			table.setRowSelectionInterval(0, 0);
		}

		return panel;
	}
Dialog for managing BSim database server definitions
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/search/dialog/BSimServerDialog.java