@Override
  public PsiReference @NotNull [] getReferences(@NotNull PsiElement element,
                                                @NotNull ProcessingContext context,
                                                @NotNull TextRange range) {
    UInjectionHost host = UastContextKt.toUElement(element, UInjectionHost.class);
    if (host == null) return PsiReference.EMPTY_ARRAY;
    String text = range.substring(element.getText());
    if (text.isEmpty()) return PsiReference.EMPTY_ARRAY;
    UClass uClass = UastContextKt.getUastParentOfType(element, UClass.class);
    if (uClass == null) return PsiReference.EMPTY_ARRAY;
    PsiClass containingClass = UElementKt.getAsJavaPsiElement(uClass, PsiClass.class);
    if (containingClass == null) return PsiReference.EMPTY_ARRAY;
    PsiMethod[] methods = containingClass.findMethodsByName(text, true);
    if (methods.length == 0) {
      return new JavaMethodReference[]{new JavaMethodReference(element, range, null, uClass)};
    }
    return ContainerUtil.map2Array(methods, JavaMethodReference.class, 
                                   m -> new JavaMethodReference(element, range, m, uClass));
  }
@Override
  public PsiReference @NotNull [] getReferences(@NotNull PsiElement element,
                                                @NotNull ProcessingContext context,
                                                @NotNull TextRange range)