final AddressSet getAdjustedCuiDiffs(AddressSetView addressSet, TaskMonitor monitor)
				throws CancelledException {
			// Check each address range from the address set for differences.
			AddressSet inCommon;
			inCommon = pgmMemComp.getAddressesInCommon();
			if (addressSet != null) {
				inCommon = inCommon.intersect(addressSet);
			}
			AddressSet as1 = adjustCodeUnitAddressSet(inCommon, listing1, monitor);
			Iterator<T> iter1 = iterator(program1, as1);
			AddressSet inCommonFrom2 = DiffUtility.getCompatibleAddressSet(inCommon, program2);
			AddressSet as2 = adjustCodeUnitAddressSet(inCommonFrom2, listing2, monitor);
			Iterator<T> iter2 = iterator(program2, as2);
			return getObjectDiffs(iter1, iter2, monitor);
		}
Determines the code unit addresses where there are differences of the
indicated type between program1 and program2. If address ranges in the
address set begin inside a code unit instead of at the beginning, the
entire code unit will be added to the address set.
@param addressSet the addresses to check for differences.
The addresses in this address set should be derived from program1.
@param monitor the task monitor for indicating the progress of
determining differences. This monitor reports the progress to the user.
@return the addresses where there were code unit differences of the
specified type.  The addresses in this address set are derived from program1.
@throws CancelledException if the user cancelled the Diff.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiff.java