private Symbol getSymbol(Program program, SymbolPath symbolPath, Address address) {
		List<Symbol> symbols = NamespaceUtils.getSymbols(symbolPath.getPath(), program);
		// There can be multiples because function namespaces are not unique, but for a given
		// address, there can only be symbol with that path since addresses can only be in one
		// program
		for (Symbol symbol : symbols) {
			if (symbol.getAddress().equals(address)) {
				return symbol;
			}
		}
		throw new AssertException("Expected a matching symbol when handling address conflicts");
	}
Determine the type of changes to the symbols in the LATEST and MY (CheckedOut) program.
Changes can be symbol removed, added, changed, renamed, and set to primary.
@param monitor task monitor for displaying progress to the user
@throws CancelledException if the user cancels the merge.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java