void (@NotNull PsiPolyadicExpression expression) { super.visitPolyadicExpression(expression); final IElementType tokenType = expression.getOperationTokenType(); if (JavaTokenType.ANDAND.equals(tokenType)) { final PsiExpression[] operands = expression.getOperands(); if (operands.length != 2) { return; } final PsiExpression lhs = operands[0]; final PsiVariable variable = ExpressionUtils.getVariableFromNullComparison(lhs, false); if (variable == null) { return; } final PsiExpression rhs = PsiUtil.skipParenthesizedExprDown(operands[1]); if (!isEqualsConstant(rhs, variable)) { return; } registerError(lhs, getMethodName((PsiMethodCallExpression)rhs)); } else if (JavaTokenType.OROR.equals(tokenType)) { final PsiExpression[] operands = expression.getOperands(); if (operands.length != 2) { return; } final PsiExpression lhs = operands[0]; final PsiVariable variable = ExpressionUtils.getVariableFromNullComparison(lhs, true); if (variable == null) { return; } final PsiExpression rhs = PsiUtil.skipParenthesizedExprDown(operands[1]); if (!(rhs instanceof PsiPrefixExpression prefixExpression)) { return; } if (!JavaTokenType.EXCL.equals(prefixExpression.getOperationTokenType())) { return; } final PsiExpression operand = PsiUtil.skipParenthesizedExprDown(prefixExpression.getOperand()); if (!isEqualsConstant(operand, variable)) { return; } registerError(lhs, getMethodName((PsiMethodCallExpression)operand)); } }