@Nullable
  static private ExtremumTerminal extractIfElseCase(@NotNull PsiStatement nullCheckBranch,
                                                    @NotNull PsiExpression nullCheckExpr,
                                                    @NotNull PsiStatement comparisonBranch,
                                                    @NotNull PsiExpression comparisonExpr,
                                                    @NotNull TerminalBlock terminalBlock,
                                                    @Nullable List<? extends PsiVariable> nonFinalVariables) {
    if (!ourEquivalence.statementsAreEquivalent(nullCheckBranch, comparisonBranch)) return null;
    return SimpleRefExtremumTerminal
      .extract(nullCheckExpr, comparisonExpr, new PsiStatement[]{comparisonBranch}, terminalBlock, nonFinalVariables);
  }
@Nullable
  static private ExtremumTerminal extractIfElseCase(@NotNull PsiStatement nullCheckBranch,
                                                    @NotNull PsiExpression nullCheckExpr,
                                                    @NotNull PsiStatement comparisonBranch,
                                                    @NotNull PsiExpression comparisonExpr,
                                                    @NotNull TerminalBlock terminalBlock,
                                                    @Nullable List<? extends PsiVariable> nonFinalVariables)