private void getLatestChangeTypes(TaskMonitor monitor) throws CancelledException {
		AddressIterator latestIter = latestDetailSet.getAddresses(true);
		long max = latestDetailSet.getNumAddresses();
		monitor.initialize(max);
		int count = 0;
		while (latestIter.hasNext()) {
			monitor.setProgress(count++);
			monitor.checkCancelled();
			Address entry = latestIter.next();
			Function originalFunc = functionManagers[ORIGINAL].getFunctionAt(entry);
			Function latestFunc = functionManagers[LATEST].getFunctionAt(entry);
			if (originalFunc == null) {
				addLatest.addRange(entry, entry);
			}
			else if (latestFunc == null) {
				removeLatest.addRange(entry, entry);
			}
			else {
				changeLatest.addRange(entry, entry);
			}
		}
		monitor.setProgress(max);
	}
Constructs a function merger.
@param listingMergeMgr the listing merge manager that owns this merger.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/FunctionMerger.java