@Override
      public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context) {
        if (!DGMUtil.isInDGMFile(element)) return PsiReference.EMPTY_ARRAY;

        IProperty parent = (IProperty)element.getParent();
        if (!"extensionClasses".equals(parent.getName())) {
          return PsiReference.EMPTY_ARRAY;
        }

        ArrayList<PsiReference> result = new ArrayList<>();

        String text = element.getText();

        int i = 0;
        while ((i = skipWhiteSpace(i, text)) < text.length()) {
          int end = findWhiteSpaceOrComma(i, text);
          if (end <= text.length()) {
            JavaClassReferenceSet set = new JavaClassReferenceSet(text.substring(i, end), element, i, true, myProvider);
            ContainerUtil.addAll(result, set.getAllReferences());
          }
          i = end;
          i = skipWhiteSpace(i, text);
          if (i == text.length()) break;
          if (text.charAt(i) == ',') i++;
          i = skipWhiteSpace(i, text);
        }

        return result.toArray(PsiReference.EMPTY_ARRAY);
      }
@Override
      public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context)