public List<LabelData> computeOverlapping(@Nonnull Collection<LabelData> labelDatum) {
		return overlapping.computeIfAbsent(() -> {
			Range range = range();
			List<LabelData> overlap = new ArrayList<>();
			for (LabelData data : labelDatum) {
				// Skip self
				if (name.equals(data.name)) continue;

				// Skip labels that don't have references
				if (data.usage().writers().isEmpty()) continue;

				Range otherRange = data.range();
				if (Math.max(range.start(), otherRange.start()) <= Math.min(range.end(), otherRange.end()))
					overlap.add(data);
			}
			return overlap;

		});
	}
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