private long[] getNonMatchingIDsInFirst(long[] first, long[] second, TaskMonitor monitor)
			throws CancelledException {
		long[] uniqueIDs = new long[first.length];
		int u = 0;
		for (long element : first) {
			monitor.checkCancelled();
			monitor.setProgress(monitor.getProgress() + 1);
			boolean matched = false;
			for (long element2 : second) {
				if (element2 == element) {
					matched = true;
					break;
				}
			}
			if (!matched) {
				uniqueIDs[u++] = element;
			}
		}
		long[] results = new long[u];
		System.arraycopy(uniqueIDs, 0, results, 0, u);
		return results;
	}
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