private void onCaretMove(Change<Integer> caretChange) {
		int pos = caretChange.getNewValue();

		// Determine which variable is at the caret position
		VariableData currentVarSelection = null;
		for (VariableData item : table.getItems()) {
			AstUsages usage = item.usage();
			ASTElement matchedAst = usage.readersAndWriters()
					.filter(e -> e.range().within(pos))
					.findFirst().orElse(null);
			if (matchedAst != null) {
				currentVarSelection = item;
				break;
			}
		}

		// Notify the highlighter of the difference
		varHighlighter.setSelectedVariable(currentVarSelection);
	}
Handles updating the {@link VarHighlightLineFactory}.
<p/>
This logic is shoe-horned into here <i>(for now)</i> because
the variable tracking logic is internal to this class only.

@param caretChange
		Caret pos change.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/assembler/JvmVariablesPane.java