public static ExternalLocation getMatchingExternalLocation(Program program,
			ExternalLocation externalLocation, Program otherProgram, boolean allowInferredMatch) {
		if (externalLocation == null) {
			return null;
		}
		Symbol symbol = externalLocation.getSymbol();
		if (symbol == null) {
			return null;
		}
		Symbol matchingExternalSymbol =
			getMatchingExternalSymbol(program, symbol, otherProgram, allowInferredMatch, null);
		if (matchingExternalSymbol == null) {
			return null;
		}
		ExternalManager otherExternalManager = otherProgram.getExternalManager();
		return otherExternalManager.getExternalLocation(matchingExternalSymbol);
	}
Given an external location for a specified program, get the corresponding external location,
which has the same name and path,  from the specified otherProgram.<br>
Note: The type of the returned external location may be different than the type of the
original external location.
@param program program which contains the specified external location instance
@param externalLocation external location to look for
@param otherProgram other program
@param allowInferredMatch if true an inferred match may be performed using reference
correlation.  NOTE: reference correlation is only possible if the exact same binary
is in use.  This option is ignored if the two programs do not have the same 
original binary hash and reference correlation will not be performed.
@return corresponding external location for otherProgram or null if no such external location exists.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java