@Override
      public void visitMethod(@NotNull RefMethod refMethod) {
        if (!filter.accepts(refMethod) || processedSuspicious.contains(refMethod)) {
          return;
        }
        processedSuspicious.add(refMethod);
        if (refMethod instanceof RefImplicitConstructor ctor) {
          RefClass ownerClass = ctor.getOwnerClass();
          doVisitClass(ownerClass);
          return;
        }
        if (refMethod.isConstructor()) {
          RefClass ownerClass = refMethod.getOwnerClass();
          if (ownerClass != null) {
            queryQualifiedNameUsages(ownerClass);
          }
        }
        UMethod uMethod = refMethod.getUastElement();
        if (uMethod != null && (RefSerializationUtil.isSerializationMethod(uMethod, refMethod.getOwnerClass()))) {
          getEntryPointsManager(globalContext).addEntryPoint(refMethod, false);
        }
        else if (!refMethod.isExternalOverride() && !PsiModifier.PRIVATE.equals(refMethod.getAccessModifier())) {
          processedSuspicious.addAll(refMethod.getDerivedMethods());
          enqueueMethodUsages(globalContext, refMethod);
        }
      }
@Override
      public void visitMethod(@NotNull RefMethod refMethod)