@Override
      public boolean process(PsiMember member) {
        ProgressManager.checkCanceled();
        String name = member.getName();
        if (name == null || !matcher.prefixMatches(name)) {
          return true;
        }
        if (!(member instanceof PsiMethod method && method.hasModifier(JvmModifier.STATIC))) {
          return true;
        }
        PsiFile currentFile = method.getContainingFile();
        if (method.hasModifier(JvmModifier.PRIVATE) && !file.isEquivalentTo(currentFile)) {
          return true;
        }
        PsiClass containingClass = method.getContainingClass();
        String methodName = method.getName();
        if (containingClass == null) {
          return true;
        }
        Collection<String> names = classesToSkip.get(containingClass);
        if (names.contains(methodName)) {
          return true;
        }
        processor.processStaticMember(element -> {
          size++;
          result.consume(element);
          classesToSkip.putValue(containingClass, methodName);
        }, member, new HashSet<>());
        return size < MAX_SIZE;
      }
@Override
      public boolean process(PsiMember member)