@Override
      public void visitIfStatement(@NotNull PsiIfStatement ifStatement) {
        NotNullContext context = NotNullContext.from(ifStatement);
        if(context == null) return;
        String method = getMethodWithClass(context.myExpressionToReplace, context.myIsStream);

        PsiStatement nextToDelete = context.myNextToDelete;
        int maybeImplicitElseLength = nextToDelete != null ? nextToDelete.getTextLength() : 0;
        boolean isInfoLevel = noWarningReplacementBigger &&
                              ifStatement.getTextLength() + maybeImplicitElseLength - context.getLenAfterReplace() < MINIMAL_WARN_DELTA_SIZE;
        ProblemHighlightType highlight = getHighlight(context, isInfoLevel);
        if (!isOnTheFly && highlight == ProblemHighlightType.INFORMATION) return;
        holder.registerProblem(ifStatement.getFirstChild(), JavaBundle.message("inspection.require.non.null.message", 1, method), highlight,
                               new ReplaceWithRequireNonNullFix(method, false));
      }
@Override
      public void visitIfStatement(@NotNull PsiIfStatement ifStatement)