private static Symbol getOtherFunctionSymbol(Symbol symbol, Program otherProgram,
			Namespace otherNamespace) {
		if (symbol.isExternal()) {
			return getOtherExternalLocationSymbol(symbol, otherProgram, otherNamespace);
		}

		Function func = (Function) symbol.getObject();
		Address entryPoint = func.getEntryPoint();
		Address otherEntry = getCompatibleAddress(symbol.getProgram(), entryPoint, otherProgram);
		if (otherEntry == null) {
			return null;
		}
		func = otherProgram.getFunctionManager().getFunctionAt(otherEntry);
		return func != null ? func.getSymbol() : null;
	}
Given a symbol for a specified program, get the corresponding symbol from the
specified otherProgram.
<br>
In the case of external locations this performs an exact match based upon symbol name, 
namespace and symbol type.

@param symbol symbol to look for
@param otherProgram other program
@return corresponding symbol for otherProgram or null if no such symbol exists.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java