@Override
	public Color getTokenHighlight(ClangToken token) {
		Options options = graphOptions.getOptions("Vertex Colors");
		String opKey = BSimFeatureGraphType.PCODE_OP_VERTEX;
		Color color = options.getColor(opKey, DEFAULT_HIGHLIGHT);
		if (token instanceof ClangFuncNameToken) {
			PcodeOp op = token.getPcodeOp();
			if (op == null) {
				return null;
			}
			if (pcodeOp != null && op.getSeqnum().equals(pcodeOp.getSeqnum())) {
				return color;
			}
			if (previousPcodeOp != null && op.getSeqnum().equals(previousPcodeOp.getSeqnum())) {
				return Gui.darker(color);
			}
		}
		if (token instanceof ClangOpToken) {
			PcodeOp op = token.getPcodeOp();
			if (op == null) {
				return null;
			}
			if (pcodeOp != null && op.getSeqnum().equals(pcodeOp.getSeqnum())) {
				return color;
			}
			if (previousPcodeOp != null && op.getSeqnum().equals(previousPcodeOp.getSeqnum())) {
				return Gui.darker(color);
			}
		}
		if (token instanceof ClangVariableToken) {
			ClangVariableToken varToken = (ClangVariableToken) token;
			PcodeOp op = varToken.getPcodeOp();
			Varnode vnode = varToken.getVarnode();
			if (op == null) {
				return null;
			}
			if (pcodeOp != null && op.getSeqnum().equals(pcodeOp.getSeqnum())) {
				if (vnode != null && vnode.equals(op.getOutput())) {
					return options.getColor(BSimFeatureGraphType.BASE_VARNODE_VERTEX,
						DEFAULT_HIGHLIGHT);
				}
			}
			if (previousPcodeOp != null && op.getSeqnum().equals(previousPcodeOp.getSeqnum())) {
				if (vnode != null && vnode.equals(op.getOutput())) {
					return options.getColor(BSimFeatureGraphType.SECONDARY_BASE_VARNODE_VERTEX,
						DEFAULT_HIGHLIGHT);
				}
			}
		}
		ClangLine line = token.getLineParent();
		if (line != null) {
			if (lineHighlights.contains(line.getLineNumber())) {
				return LINE_HIGHLIGHT_COLOR;
			}
			if (secondaryLineHighlights.contains(line.getLineNumber())) {
				return SECONDARY_LINE_HIGHLIGHT_COLOR;
			}
			if (blockHighlights.contains(line.getLineNumber())) {
				return options.getColor(BSimFeatureGraphType.BASE_BLOCK_VERTEX, DEFAULT_HIGHLIGHT);
			}
		}
		return null;
	}
Creates a highlighter for DUAL_FLOW features
@param pcodeOp pcode op
@param previousPcodeOp previous pcode op
Ghidra/Features/BSimFeatureVisualizer/src/main/java/ghidra/bsfv/BsfvTokenHighlightMatcher.java