@Override
			public void run() {
				showMergeTool();
				if (!isShowingListingMergePanel) {
					mergePanel.addDomainObjectListener();
					listingPlugin = new ListingMergePanelPlugin(mergeTool, mergePanel);
					goToPlugin = new GoToAddressLabelPlugin(mergeTool);
					try {
						mergeTool.addPlugin(listingPlugin);
						mergeTool.addPlugin(goToPlugin);
					}
					catch (PluginException e) {
						e.printStackTrace();
					}
					mergePlugin.setMergeComponent(mergePanel, "Listing Merge");

					// unlock the individual listing panels so they can move/display independent addresses.
					// TODO

//					Dimension d = mergePanel.getPreferredSize();
//					mergeTool.setSize(d.width+20, d.height+20);
//					Point centerLoc = WindowUtilities.centerOnScreen(mergeTool.getSize());
//					mergeTool.setLocation(centerLoc.x, centerLoc.y);
				}

				loadExternalsIntoMergePanel(resultAddress, latestAddress, myAddress,
					originalAddress);

				isShowingListingMergePanel = true;
			}
Show the listing merge panel with each listing positioned to the indicated address.
<p>
A null can be passed for any address to indicate that listing should be empty.

@param resultAddress the address for positioning the Result program's listing.
@param latestAddress the address for positioning the Latest program's listing.
@param myAddress the address for positioning the My program's listing.
@param originalAddress the address for positioning the Original program's listing.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/ProgramMultiUserMergeManager.java