public boolean isInRange(int line) {
		ASTLabel declaration = labelDeclaration();
		Location declarationLoc = declaration.location();
		if (declarationLoc == null) return false;
		int declarationLine = declarationLoc.line();

		// Base case, range included declaration line.
		if (declarationLine == line) return true;

		// Check if inside range:
		//  goto X
		//    ..   <---- line somewhere in here
		//  X:
		for (ASTElement referrer : usage.writers()) {
			Location referrerLoc = referrer.location();
			if (referrerLoc == null) continue;
			int referrerLine = referrerLoc.line();

			// Base case, range included referrer's line.
			if (referrerLine == line) return true;

			// Otherwise check if the line is between the range of the reference and the declaration.
			// The range bounds are swapped based on if the reference is forwards or backwards.
			if ((declarationLine > referrerLine) ?
					(line > referrerLine && line < declarationLine) :
					(line > declarationLine && line < referrerLine)) return true;
		}
		return false;
	}
Models a variable.

@param name
		Name of label.
@param usage
		Usages of the loabel in the AST.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/assembler/LabelData.java