@Nullable static IfInspectionResult inspect(@NotNull PsiIfStatement ifStatement,
                                         PsiStatement @NotNull [] thenBranch,
                                         PsiStatement @NotNull [] elseBranch,
                                         boolean isOnTheFly,
                                         IfStatementWithIdenticalBranchesInspection inspection) {
      ImplicitElse implicitElse = from(thenBranch, elseBranch, ifStatement);
      if (implicitElse == null) return null;
      CommonPartType type = implicitElse.getType();
      ExtractCommonIfPartsFix fix = new ExtractCommonIfPartsFix(type, false, isOnTheFly);
      return new IfInspectionResult(ifStatement.getFirstChild(), true, fix, type.getDescriptionMessage(false));
    }
@Nullable static IfInspectionResult inspect(@NotNull PsiIfStatement ifStatement,
                                         PsiStatement @NotNull [] thenBranch,
                                         PsiStatement @NotNull [] elseBranch,
                                         boolean isOnTheFly,
                                         IfStatementWithIdenticalBranchesInspection inspection)