boolean (@NotNull PsiConditionalExpression expression) { final NullCheck conditionNullCheck = NullCheck.create(expression.getCondition()); if (conditionNullCheck == null) return false; final PsiExpression nullBranch = conditionNullCheck.isEqual ? expression.getThenExpression() : expression.getElseExpression(); final PsiExpression nonNullBranch = conditionNullCheck.isEqual ? expression.getElseExpression() : expression.getThenExpression(); final NullCheck otherNullCheck = NullCheck.create(nullBranch); final EqualsCheck equalsCheck = EqualsCheck.create(nonNullBranch); if (otherNullCheck == null || equalsCheck == null || otherNullCheck.isEqual != equalsCheck.isEqual) return false; if (EQUIVALENCE.expressionsAreEquivalent(conditionNullCheck.compared, equalsCheck.qualifier) && EQUIVALENCE.expressionsAreEquivalent(otherNullCheck.compared, equalsCheck.argument)) { registerError(expression, equalsCheck.qualifier.getText(), equalsCheck.argument.getText(), Boolean.valueOf(equalsCheck.isEqual)); return true; } return false; }