@Nullable
  static private ExtremumTerminal extractRefCase(@NotNull PsiExpression condition,
                                                 PsiStatement @NotNull [] statements,
                                                 @NotNull TerminalBlock terminalBlock,
                                                 @NotNull Extractor extractor,
                                                 @Nullable List<PsiVariable> nonFinalVariables,
                                                 boolean isNegated) {
    PsiBinaryExpression binaryExpression = tryCast(condition, PsiBinaryExpression.class);
    if (binaryExpression == null) return null;
    IElementType sign = binaryExpression.getOperationTokenType();
    PsiExpression lOperand = binaryExpression.getLOperand();
    PsiExpression rOperand = binaryExpression.getROperand();
    if (!sign.equals(JavaTokenType.OROR) || rOperand == null) return null;
    return extractor.extractOriented(lOperand, rOperand, statements, terminalBlock, nonFinalVariables, isNegated);
  }
@Nullable
  static private ExtremumTerminal extractRefCase(@NotNull PsiExpression condition,
                                                 PsiStatement @NotNull [] statements,
                                                 @NotNull TerminalBlock terminalBlock,
                                                 @NotNull Extractor extractor,
                                                 @Nullable List<PsiVariable> nonFinalVariables,
                                                 boolean isNegated)