@Override
	protected void init() {
		codeViewerService = tool.getService(CodeViewerService.class);
		goToService = tool.getService(GoToService.class);
		programManagerService = tool.getService(ProgramManager.class);

		FormatManager formatManager = codeViewerService.getFormatManager();
		ServiceProvider diffServiceProvider =
			new DiffServiceProvider(formatManager.getServiceProvider(), this);
		diffListingPanel = new ListingPanel(formatManager);
		diffListingPanel.setProgramLocationListener(this);
		diffListingPanel.setProgramSelectionListener(this);
		diffListingPanel.getFieldPanel().addFieldMouseListener(new MyFieldMouseListener());
		diffListingPanel.addMarginProvider(markerManager.getMarginProvider());
		diffListingPanel.addOverviewProvider(markerManager.getOverviewProvider());
		diffNavigatable = new DiffNavigatable(this, codeViewerService.getNavigatable());
		diffFieldNavigator = new FieldNavigator(diffServiceProvider, diffNavigatable);
		diffListingPanel.addButtonPressedListener(diffFieldNavigator);
		help.registerHelp(diffListingPanel, new HelpLocation("Diff", "Program_Differences"));
		GoToService diffMarkerGoToService = diffServiceProvider.getService(GoToService.class);
		markerManager.setGoToService(diffMarkerGoToService);

		actionManager.setCodeViewerService(codeViewerService);
		setupOptions();

		execDiffFilter = new ProgramDiffFilter(ProgramDiffFilter.ALL_DIFFS);
		isLimitedToSelection = false;

		applySettingsMgr = new DiffApplySettingsOptionManager(this);
		applyFilter = applySettingsMgr.getDefaultApplyFilter();

		codeViewerService.setCoordinatedListingPanelListener(new CoordinatedListingPanelListener() {
			@Override
			public void activeProgramChanged(Program newActiveProgram) {
				setActiveProgram(newActiveProgram);
			}

			@Override
			public boolean listingClosed() {
				if (primaryProgram != null) {
					closeProgram2();
					return true;
				}
				return false;
			}
		});

	}
Used for testing to force file selection dialog instance.
@param dialog project file selection dialog
Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/ProgramDiffPlugin.java