@Override
  StaticMembersProcessor.@NotNull MembersToImport<PsiField> getMembersToImport(int maxResults) {
    Project project = myReferencePointer.getProject();
    PsiShortNamesCache cache = PsiShortNamesCache.getInstance(project);
    PsiJavaCodeReferenceElement element = myReferencePointer.getElement();
    String name = element != null ? element.getReferenceName() : null;
    if (name == null) return new StaticMembersProcessor.MembersToImport<>(Collections.emptyList(), Collections.emptyList());
    if (element instanceof PsiExpression && PsiUtil.isAccessedForWriting((PsiExpression)element) ||
        element.getParent() instanceof PsiTypeElement ||
        element.getParent() instanceof PsiAnnotation) {
      return new StaticMembersProcessor.MembersToImport<>(Collections.emptyList(), Collections.emptyList());
    }
    StaticMembersProcessor<PsiField> processor = new StaticMembersProcessor<>(element, toAddStaticImports(), maxResults) {
      @Override
      protected ApplicableType isApplicable(@NotNull PsiField field, @NotNull PsiElement place) {
        ProgressManager.checkCanceled();
        PsiType fieldType = field.getType();
        return isApplicableFor(fieldType);
      }
    };
    cache.processFieldsWithName(name, processor, element.getResolveScope(), null);
    return processor.getMembersToImport();
  }
@Override
  StaticMembersProcessor.@NotNull MembersToImport<PsiField> getMembersToImport(int maxResults)