Match (@NotNull PsiAssignmentExpression assignmentExpression1, @NotNull PsiAssignmentExpression assignmentExpression2) { final IElementType tokenType1 = assignmentExpression1.getOperationTokenType(); if (!tokenType1.equals(assignmentExpression2.getOperationTokenType())) { return EXACT_MISMATCH; } final PsiExpression lhs1 = assignmentExpression1.getLExpression(); final PsiExpression lhs2 = assignmentExpression2.getLExpression(); final PsiExpression rhs1 = assignmentExpression1.getRExpression(); final PsiExpression rhs2 = assignmentExpression2.getRExpression(); final Match leftEq = expressionsMatch(lhs1, lhs2); final Match rightEq = expressionsMatch(rhs1, rhs2); return getComplexElementDecision(leftEq, rightEq, lhs1, lhs2, rhs1, rhs2); }