@Override
	public void start(ClangNode root) {
		lineHighlights = new HashSet<>();
		secondaryLineHighlights = new HashSet<>();
		blockHighlights = new HashSet<>();

		if (pcodeOp != null) {
			List<ClangToken> opTokens =
				DecompilerUtils.getTokens(root, pcodeOp.getSeqnum().getTarget());
			for (ClangToken token : opTokens) {
				ClangLine line = token.getLineParent();
				if (line != null) {
					lineHighlights.add(line.getLineNumber());
				}
			}
		}

		if (previousPcodeOp != null) {
			List<ClangToken> secondaryOpTokens =
				DecompilerUtils.getTokens(root, previousPcodeOp.getSeqnum().getTarget());
			for (ClangToken token : secondaryOpTokens) {
				ClangLine line = token.getLineParent();
				if (line != null) {
					secondaryLineHighlights.add(line.getLineNumber());
				}
			}
		}

		if (block != null) {
			AddressSet blockRange = new AddressSet(block.getStart(), block.getStop());
			List<ClangToken> tokensInBlock = DecompilerUtils.getTokens(root, blockRange);
			for (ClangToken token : tokensInBlock) {
				ClangLine line = token.getLineParent();
				if (line != null) {
					blockHighlights.add(line.getLineNumber());
				}
			}
		}
	}
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