public AddressSetView getFilteredDifferences(TaskMonitor monitor) throws CancelledException {
		AddressSetView diffs1 = mergeEngine.getFilteredDifferences(monitor);
		Program program1 = getProgramOne();
		Program program2 = getProgramTwo();
		monitor.setMessage("Adjusting differences to code unit boundaries...");
		AddressSet diffSet2 = DiffUtility.getCompatibleAddressSet(diffs1, program2);
		AddressSet diffCuSet2 = DiffUtility.getCodeUnitSet(diffSet2, program2);
		monitor.setMessage("Converting Diffs to program 1 set...");
		diffs1 = DiffUtility.getCompatibleAddressSet(diffCuSet2, program1);
		if (!p1LastDiffs.equals(diffs1)) {
			p1LastDiffs = diffs1;
		}
		return diffs1;
	}
Gets the filtered program differences for this merge. Only differences are
indicated for merge filter categories that are enabled and for addresses
that have not been marked as ignored.
<P>Note: This method is potentially time consuming and should normally
be called from within a background task.
@param monitor the task monitor for indicating the progress of
determining differences. This monitor also allows the user to cancel if
the diff takes too long. If no monitor is desired, use null.
@return the program differences.
The addresses in this set are derived from the p1 program.
Ghidra/Features/ProgramDiff/src/main/java/ghidra/app/plugin/core/diff/DiffController.java