private VerticalChoicesPanel getPrimaryConflictPanel(Address address, ChangeListener listener) {
		Symbol original = originalSymTab.getPrimarySymbol(address);
		Symbol latest = latestSymTab.getPrimarySymbol(address);
		Symbol my = mySymTab.getPrimarySymbol(address);
		try {
			latest = resultSymTab.getSymbol(getResultIDFromLatestID(latest.getID()));
		}
		catch (NoValueException e) {
			conflictPanel = null;
			return null;
		}
		try {
			my = resultSymTab.getSymbol(getResultIDFromMyID(my.getID()));
		}
		catch (NoValueException e) {
			conflictPanel = null;
			return null;
		}
		String text = "Primary Symbol Conflict";
		conflictPanel.clear();
		conflictPanel.setHeader(text);
		conflictPanel.setRowHeader(getPrimarySymbolInfo(null, null, null, null));
		conflictPanel.addRadioButtonRow(
			getPrimarySymbolInfo(latestPgm, latest, "Set '", "' to primary"), LATEST_BUTTON_NAME,
			KEEP_LATEST, listener);
		conflictPanel.addRadioButtonRow(getPrimarySymbolInfo(myPgm, my, "Set '", "' to primary"),
			CHECKED_OUT_BUTTON_NAME, KEEP_MY, listener);
		conflictPanel.addInfoRow(getPrimarySymbolInfo(originalPgm, original, "'", "' version"));
		return conflictPanel;
	}
Returns the conflict panel for resolving differences in the symbol
set to primary at an address.
@param address the address
@param listener listener for handling user selecting an option.
@return the conflict panel or null if the conflict no longer exists.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java