protected VerticalChoicesPanel getConflictPanel(int conflictType, ChangeListener listener) {
		// Re-use the same conflict panel
		if (conflictPanel == null) {
			conflictPanel = new VerticalChoicesPanel();
			currentConflictPanel = conflictPanel;
			conflictPanel.setTitle("Symbol");
		}
		switch (conflictType) {
			case REMOVE_CONFLICT:
				return getRemoveConflictPanel(currentSymbol, listener);
			case RENAME_CONFLICT:
				return getRenameConflictPanel(currentSymbol, listener);
//			case COMMENT_CONFLICT:
//				return getCommentConflictPanel(currentSymbol, listener);
//			case ADD_COMMENT_CONFLICT:
//				return getAddCommentConflictPanel(currentSymbol, listener);
			case NAMESPACE_CONFLICT:
				return getNamespaceConflictPanel(currentNamespace, currentSymbolName, listener);
			case ADDRESS_CONFLICT:
				return getAddressConflictPanel(currentAddress, currentSymbolName, listener);
			case PRIMARY_CONFLICT:
				return getPrimaryConflictPanel(currentAddress, listener);
			default:
				return null;
		}
	}
Checks to see if there is a symbol in the otherProgram that conflicts
with the indicated symbol. A conflict can be one of these types:
1) a symbol other than label or function that has the same name and 
namespace as another non label or function.
2) a symbol at the same address with the same name and namespace.

@param program the program that contains the specified symbol
@param symbol the symbol (Can be original, latest, or my.)
@param otherProgram the program to be checked for a conflicting symbol
@param saveConflict if true this will also save the conflict for processing or in
some cases automatically process the conflict.
@return true if there is a symbol name conflict
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java