@Override
      public void visitIfStatement(@NotNull PsiIfStatement statement) {
        super.visitIfStatement(statement);
        PsiExpression condition = PsiUtil.skipParenthesizedExprDown(statement.getCondition());
        if (condition == null) return;
        PsiReferenceExpression optionalRef = extractOptionalFromPresenceCheck(condition);
        if (optionalRef == null) return;
        boolean invert = isEmptyCheck(condition);
        PsiStatement thenStatement = extractThenStatement(statement, invert);
        PsiStatement elseStatement = extractElseStatement(statement, invert);
        check(condition, optionalRef, thenStatement, elseStatement);
      }
@Override
      public void visitIfStatement(@NotNull PsiIfStatement statement)