@Override
  public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context) {
    if (!(element instanceof XmlAttribute xmlAttribute) || !JavaFxFileTypeFactory.isFxml(element.getContainingFile())) return PsiReference.EMPTY_ARRAY;

    final String name = xmlAttribute.getName();
    final int dotIndex = name.indexOf('.');
    if (dotIndex <= 0 || name.indexOf('.', dotIndex + 1) >= 0) return PsiReference.EMPTY_ARRAY;
    final String className = name.substring(0, dotIndex);
    final JavaFxStaticPropertyClassReference classReference = new JavaFxStaticPropertyClassReference(xmlAttribute, className);
    classReference.setRangeInElement(new TextRange(0, dotIndex));
    if (dotIndex + 1 == name.length()) {
      return new PsiReference[]{classReference};
    }
    final String propertyName = name.substring(dotIndex + 1);
    final JavaFxStaticPropertyReference methodReference =
      new JavaFxStaticPropertyReference(xmlAttribute, classReference.getPsiClass(), propertyName);
    methodReference.setRangeInElement(new TextRange(dotIndex + 1, name.length()));

    return new PsiReference[]{classReference, methodReference};
  }
@Override
  public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context)