boolean (GrIfStatement ifStatement) { GrStatement thenBranch = ifStatement.getThenBranch(); thenBranch = ConditionalUtils.stripBraces(thenBranch); GrStatement elseBranch = ifStatement.getElseBranch(); elseBranch = ConditionalUtils.stripBraces(elseBranch); if (ConditionalUtils.isAssignment(thenBranch, "false") && ConditionalUtils.isAssignment(elseBranch, "true")) { final GrAssignmentExpression thenExpression = (GrAssignmentExpression) thenBranch; final GrAssignmentExpression elseExpression = (GrAssignmentExpression) elseBranch; final IElementType thenSign = thenExpression.getOperationTokenType(); final IElementType elseSign = elseExpression.getOperationTokenType(); if (!thenSign.equals(elseSign)) { return false; } final GrExpression thenLhs = thenExpression.getLValue(); final GrExpression elseLhs = elseExpression.getLValue(); return EquivalenceChecker.expressionsAreEquivalent(thenLhs, elseLhs); } else { return false; } }