private void buildMainPanel() {
		sourceFilesTableModel = new SourceFilesTableModel(sourceFilesTablePlugin);
		sourceFilesTable = new GhidraFilterTable<>(sourceFilesTableModel);
		sourceFilesTable.setAccessibleNamePrefix("Source Files");

		JPanel sourceFilesPanel = buildTitledTablePanel("Source Files", sourceFilesTable,
			() -> sourceFilesTableModel.getUnfilteredRowCount());

		transformsModel = new TransformerTableModel(sourceFilesTablePlugin);
		transformsTable = new GhidraFilterTable<>(transformsModel);
		transformsTable.setAccessibleNamePrefix("Transformations");

		JPanel transformsPanel = buildTitledTablePanel("Transforms", transformsTable,
			() -> transformsModel.getUnfilteredRowCount());

		splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
		splitPane.setResizeWeight(0.5);
		splitPane.setDividerSize(10);
		splitPane.setLeftComponent(sourceFilesPanel);
		splitPane.setRightComponent(transformsPanel);
		splitPane.setPreferredSize(new Dimension(1000, 800));
	}
Sets isStale to {@code true} when {@code rec} has an event type relevant to the source
file table.  If the event type is {@link ProgramEvent#SOURCE_FILE_REMOVED}, any associated
file transform is also removed.

@param rec program change record
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/sourcefilestable/SourceFilesTableProvider.java