@Override
      public void visitMethod(@NotNull PsiMethod method) {
        if (INVOKE.methodMatches(method)) {
          check(method);
        }
        if (method.getReturnType() instanceof PsiClassType) {
          PsiParameterList list = method.getParameterList();
          if (list.getParametersCount() == 3) {
            PsiParameter[] parameters = list.getParameters();
            if (EntryStream.zip(parameters, HANDLER_ARGUMENT_TYPES).allMatch((p, t) -> TypeUtils.typeEquals(t, p.getType())) &&
                SyntaxTraverser.psiTraverser(holder.getFile()).filter(PsiMethodReferenceExpression.class)
                  .filter(ref -> ref.isReferenceTo(method) && TypeUtils.typeEquals(HANDLER_CLASS, ref.getFunctionalInterfaceType()))
                  .first() != null) {
              check(method);
            }
          }
        }
      }
@Override
      public void visitMethod(@NotNull PsiMethod method)