private Highlight[] getVariableHighlights(String text, Object obj, int cursorTextOffset,
			VTMarkupType markupType) {

		Variable variable = (Variable) obj;
		Address storageAddress = variable.getMinAddress();
		if (storageAddress == null) {
			return new Highlight[0];
		}
		ArrayList<Highlight> highlightList = new ArrayList<>();
		HashMap<VTMarkupType, VTMarkupItem> typeMap = map.get(storageAddress);
		if (typeMap != null) {
			VTMarkupItem markupItem = typeMap.get(markupType);
			if ((markupItem != null) && isCorrectFunction(variable, markupItem)) {
				if (variable instanceof Parameter) {
					addParametersHighlight(text, cursorTextOffset, markupItem, highlightList);
				}
				else {
					addLocalVariablesHighlight(text, cursorTextOffset, markupItem, highlightList);
				}
			}
		}
		return highlightList.toArray(new Highlight[highlightList.size()]);
	}
Creates a darker shade of the color passed-in, based on the given amount.

algorithm: 1) grab individual rgb elements
           2) multiply each by a factor.
           
           ie: int newRed = (int)(oldRed * 0.85);

@param color the color to shade
@param amount number between 0..1 (the smaller the number, the darker the shade)
@return the new color
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/duallisting/VTDualListingHighlightProvider.java