Match (@NotNull PsiIfStatement statement1, @NotNull PsiIfStatement statement2) { final PsiExpression condition1 = statement1.getCondition(); final PsiExpression condition2 = statement2.getCondition(); final PsiStatement thenBranch1 = statement1.getThenBranch(); final PsiStatement thenBranch2 = statement2.getThenBranch(); final PsiStatement elseBranch1 = statement1.getElseBranch(); final PsiStatement elseBranch2 = statement2.getElseBranch(); final Match conditionEq = expressionsMatch(condition1, condition2); final Match thenEq = statementsMatch(thenBranch1, thenBranch2); final Match elseEq = statementsMatch(elseBranch1, elseBranch2); return conditionEq.combine(thenEq).combine(elseEq); }