private void processAnchorChanges(TaskMonitor monitor) throws CancelledException {
		updateProgressMessage("Processing symbol flag changes...");
		monitor.setMessage("Symbol Merge: Processing symbol flag changes...");

		int len = myAnchorChangeIDs.length;
		monitor.initialize(len);
		for (int i = 0; i < len; i++) {
			monitor.setProgress(i);
			monitor.checkCancelled();
			incrementProgress(1);
			long id = myAnchorChangeIDs[i];
			Symbol mySym = mySymTab.getSymbol(id);
			boolean removedInLatest = Arrays.binarySearch(latestRemoveIDs, id) >= 0;
			if (removedInLatest) {
				continue;
			}
			// Otherwise, auto merge the anchor flag change. (AUTO_MERGE)
			Symbol resultSym = resultSymTab.getSymbol(id);
			resultSym.setPinned(mySym.isPinned());
			incrementProgress(1);
		}
		monitor.setProgress(len);
	}
Determine the type of changes to the symbols in the LATEST and MY (CheckedOut) program.
Changes can be symbol removed, added, changed, renamed, and set to primary.
@param monitor task monitor for displaying progress to the user
@throws CancelledException if the user cancels the merge.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java