protected Match conditionalExpressionsMatch(@NotNull PsiConditionalExpression conditionalExpression1,
                                              @NotNull PsiConditionalExpression conditionalExpression2) {
    final PsiExpression condition1 = conditionalExpression1.getCondition();
    final PsiExpression condition2 = conditionalExpression2.getCondition();
    final PsiExpression thenExpression1 = conditionalExpression1.getThenExpression();
    final PsiExpression thenExpression2 = conditionalExpression2.getThenExpression();
    final PsiExpression elseExpression1 = conditionalExpression1.getElseExpression();
    final PsiExpression elseExpression2 = conditionalExpression2.getElseExpression();
    if (expressionsMatch(condition1, condition2) == EXACT_MATCH &&
        expressionsMatch(thenExpression1, thenExpression2) == EXACT_MATCH &&
        expressionsMatch(elseExpression1, elseExpression2) == EXACT_MATCH) {
      return EXACT_MATCH;
    }
    return EXACT_MISMATCH;
  }
protected Match conditionalExpressionsMatch(@NotNull PsiConditionalExpression conditionalExpression1,
                                              @NotNull PsiConditionalExpression conditionalExpression2)