private JComponent createSourceFunctionPanel() {

		Program sourceProgram = controller.getSourceProgram();
		sourceFunctionsModel =
			new VTFunctionAssociationTableModel(tool, controller, sourceProgram, true);
		sourceThreadedTablePanel = new GhidraThreadedTablePanel<>(sourceFunctionsModel, 1000);
		sourceFunctionsTable = sourceThreadedTablePanel.getTable();
		sourceFunctionsTable
				.setPreferenceKey("VTFunctionAssociationTableModel - Source Function Table");
		sourceFunctionsTable.installNavigation(tool);
		sourceFunctionsTable.setAutoLookupColumn(VTFunctionAssociationTableModel.NAME_COL);
		sourceFunctionsTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
		sourceFunctionsTable.setPreferredScrollableViewportSize(new Dimension(350, 150));
		sourceFunctionsTable.setRowSelectionAllowed(true);
		sourceFunctionsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		sourceFunctionsTable.getSelectionModel().addListSelectionListener(e -> {
			if (e.getValueIsAdjusting()) {
				return;
			}
			goToSelectedSourceFunction();
			validateSelectedMatch();
			notifyContextChanged();
			functionComparisonPanel.loadFunctions(getSelectedSourceFunction(),
				getSelectedDestinationFunction());
		});

		sourceFunctionsModel.addTableModelListener(new TitleUpdateListener());

		sourceFunctionsTable.getColumnModel()
				.getColumn(VTFunctionAssociationTableModel.ADDRESS_COL)
				.setPreferredWidth(VTFunctionAssociationTableModel.ADDRESS_COL_WIDTH);

		sourceTableFilterPanel =
			new GhidraTableFilterPanel<>(sourceFunctionsTable, sourceFunctionsModel);
		JPanel sourceFunctionPanel = new JPanel(new BorderLayout());
		String sourceString =
			(sourceProgram != null) ? sourceProgram.getDomainFile().toString() : NO_SESSION;
		String sourceTitle = SOURCE_TITLE + " = " + sourceString;
		sourceSessionLabel = new GDLabel(sourceTitle);
		sourceSessionLabel.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 0));
		sourceFunctionPanel.add(sourceSessionLabel, BorderLayout.NORTH);
		sourceFunctionPanel.add(sourceThreadedTablePanel, BorderLayout.CENTER);
		sourceFunctionPanel.add(sourceTableFilterPanel, BorderLayout.SOUTH);

		String namePrefix = "Source Functions";
		sourceFunctionsTable.setAccessibleNamePrefix(namePrefix);
		sourceTableFilterPanel.setAccessibleNamePrefix(namePrefix);

		return sourceFunctionPanel;
	}
Displays or hides the function comparison panel within the function association provider.
@param show true indicates to show the function comparison within the provider. 
Otherwise, hide it.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/provider/functionassociation/VTFunctionAssociationProvider.java