private Highlight[] getFunctionSignatureParameterHighlights(String text, Object obj,
			int cursorTextOffset) {
		if (!(obj instanceof Parameter)) {
			Msg.error(this, "Can't get highlights for a " + obj.getClass().getName());
			return new Highlight[0];
		}
		Parameter parameter = (Parameter) obj;
		Function function = parameter.getFunction();
		Address address = function.getEntryPoint();
		HashMap<VTMarkupType, VTMarkupItem> typeMap = map.get(address);
		if (typeMap != null) {
			ArrayList<Highlight> highlightList = new ArrayList<>();

			VTMarkupItem markupItem = typeMap.get(FunctionSignatureMarkupType.INSTANCE);
			if (markupItem == null) {
				return new Highlight[0];
			}
			Color highlightColor =
				getMarkupBackgroundColor(cursorTextOffset, markupItem, 0, text.length() - 1);
			Highlight highlight = new Highlight(0, text.length() - 1, highlightColor);
			highlightList.add(highlight);

			return highlightList.toArray(new Highlight[highlightList.size()]);
		}
		return new Highlight[0];
	}
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