private FieldLocation getFieldLocationForDifferingAddressSpaces(ProgramLocation loc,
			Program program) {
		Address address = DiffUtility.getCompatibleMemoryAddress(loc.getAddress(), program);
		if (address == null) {
			return null;
		}

		CodeUnit cu = program.getListing().getCodeUnitContaining(address);
		if (cu instanceof Data) {
			Data data = (Data) cu;
			if (!cu.getMinAddress().equals(address)) {
				return getFieldLocationForDataAndOpenAsNeeded(data, address);
			}
			else if (!cu.getMinAddress().equals(loc.getByteAddress())) {
				return getFieldLocationForDataAndOpenAsNeeded(data, loc.getByteAddress());
			}
		}
		return layoutModel.getFieldLocation(new ProgramLocation(program, address));
	}
Center the view of the listing around the given location.

@param location the location
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/listingpanel/ListingPanel.java