public static ProgramLocation getCompatibleProgramLocation(Program program,
			ProgramLocation location, Program otherProgram) {
		Address address = getCompatibleAddress(program, location.addr, otherProgram);
		Address byteAddress =
			getCompatibleAddress(program, location.getByteAddress(), otherProgram);
		Address refAddress = getCompatibleAddress(program, location.refAddr, otherProgram);

		if (address != null) {
			if (byteAddress == null) {
				byteAddress = address; // Make sure the byte address isn't null.
			}
			ProgramLocation otherLocation = new ProgramLocation(otherProgram, address, byteAddress,
				location.getComponentPath(), refAddress, 0, 0, 0);
			return otherLocation;
		}
		return null;
	}
Returns the string representation of the specified reference's "to" symbol.
@param program the program containing the reference
@param ref the reference
@return the "to" symbol for the reference as a meaningful string for the user. 
The empty string, "", is returned if the reference isn't to a symbol.
Ghidra/Features/Base/src/main/java/ghidra/program/util/DiffUtility.java