private void processModifiedFunctionSymbol(long id, Symbol resultSym, Symbol mySym) {
		boolean renamedInMy = Arrays.binarySearch(myRenameIDs, id) >= 0;
//		boolean commentChangedInMy = Arrays.binarySearch(myCommentChangeIDs, id) >= 0;
		boolean sourceChangedInMy = Arrays.binarySearch(mySourceChangeIDs, id) >= 0;
		boolean renamedInLatest = Arrays.binarySearch(latestRenameIDs, id) >= 0;
//		boolean commentChangedInLatest = Arrays.binarySearch(latestCommentChangeIDs, id) >= 0;
		boolean sourceChangedInLatest = Arrays.binarySearch(latestSourceChangeIDs, id) >= 0;

		boolean renamed = renamedInMy || renamedInLatest;
		if (!renamed) {
			// Handle Symbol source if it wasn't done as part of a rename.
			if (sourceChangedInMy) {
				if (!sourceChangedInLatest) {
					try {
						// Use My version's source since Latest didn't change it.
						resultSym.setSource(mySym.getSource());
					}
					catch (IllegalArgumentException e) {
						Msg.warn(this, e.getMessage());
					}
				}
				// For now if symbol source conflict, Latest program (first in) wins.
			}
		}
		// Handle Symbol comments.
		// Function comment handle via listing plate comment
		// Symbol comment not supported
//		if (commentChangedInMy) {
//			if (!commentChangedInLatest) {
//				// Use My version's comment since Latest didn't change it.
//				resultSym.setSymbolStringData(mySym.getSymbolStringData());
//			}
//			else {
//				Symbol latestSym = latestSymTab.getSymbol(id);
//				if (!SystemUtilities.isEqual(latestSym.getSymbolStringData(), mySym.getSymbolStringData())) {
//					saveFunctionCommentConflict(id); // My & Latest changed comment differently.
//				}
//			}
//		}
	}
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