private Highlight[] getMnemonicDiffHighlights(String text, CodeUnit codeUnit,
			int cursorTextOffset) {
		Address minAddress = codeUnit.getMinAddress();
		AddressSetView unmatchedDiffs = listingDiff.getUnmatchedCode(side);
		if (unmatchedDiffs.contains(minAddress)) {
			return NO_HIGHLIGHTS;
		}
		Color mnemonicDiffsBackgroundColor = comparisonOptions.getMnemonicDiffsBackgroundColor();
		AddressSetView codeUnitDiffs = listingDiff.getCodeUnitDiffs(side);
		// Get intersection of Code Unit Diff addresses and this code unit's addresses
		AddressSet diffSet = new AddressSet(codeUnit.getMinAddress(), codeUnit.getMaxAddress());
		diffSet = diffSet.intersect(codeUnitDiffs);
		if (!diffSet.isEmpty()) {
			CodeUnit otherCodeUnit = listingDiff.getMatchingCodeUnit(codeUnit, side);
			if (otherCodeUnit == null) {
				return entireTextHighlight(text, cursorTextOffset, mnemonicDiffsBackgroundColor);
			}
			// Highlight the mnemonic if they differ.
			boolean sameMnemonics =
				codeUnit.getMnemonicString().equals(otherCodeUnit.getMnemonicString());
			if (!sameMnemonics) {
				return entireTextHighlight(text, cursorTextOffset, mnemonicDiffsBackgroundColor);
			}
		}
		return NO_HIGHLIGHTS;
	}
Constructor for this highlight provider.
@param listingDiff the ListingDiff to use to determine where there are differences that 
need highlighting.
@param side LEFT or RIGHT
false means the highlights are for the second listing.
@param comparisonOptions the tool options that indicate the current 
background colors for the Listing code comparison panel.
Ghidra/Features/Base/src/main/java/ghidra/features/base/codecompare/listing/ListingDiffHighlightProvider.java