@Override
      public void visitIfStatement(@NotNull PsiIfStatement ifStatement) {
        IfConditionalModel model = IfConditionalModel.from(ifStatement, false);
        if (model == null) return;
        ConditionalExpressionGenerator generator = ConditionalExpressionGenerator.from(model);
        if (generator == null) return;
        String operator = generator.getTokenType();
        if (operator.isEmpty()) return;
        boolean infoLevel = operator.equals("?:") && (DONT_WARN_ON_TERNARY ||
                                                      model.getThenExpression() instanceof PsiConditionalExpression ||
                                                      model.getElseExpression() instanceof PsiConditionalExpression) ||
                            DONT_WARN_ON_CHAINED_ID && ControlFlowUtils.isElseIf(ifStatement);
        if (!isOnTheFly && infoLevel) return;
        holder.registerProblem(ifStatement.getFirstChild(),
                               InspectionGadgetsBundle.message("inspection.simplifiable.if.statement.message", operator),
                               infoLevel ? ProblemHighlightType.INFORMATION : ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
                               new SimplifiableIfStatementFix(operator));
      }
@Override
      public void visitIfStatement(@NotNull PsiIfStatement ifStatement)