String (PyBinaryExpression expression) { PyExpression resultExpression; final PyExpression leftExpression = expression.getLeftExpression(); final PyExpression rightExpression = expression.getRightExpression(); boolean positiveCondition = !TokenSet.create(PyTokenTypes.NE, PyTokenTypes.NE_OLD).contains(expression.getOperator()); positiveCondition ^= isFalse(leftExpression) || isFalse(rightExpression) || isNull(rightExpression) || isNull(leftExpression) || isEmpty(rightExpression) || isEmpty(leftExpression); if (isTrue(leftExpression) || isFalse(leftExpression) || isNull(leftExpression) || isEmpty(leftExpression)) { resultExpression = rightExpression; } else { resultExpression = leftExpression; } return ((positiveCondition) ? "" : "not ") + resultExpression.getText(); }