@Override
    public void visitUnaryExpression(@NotNull GrUnaryExpression expression) {
      final IElementType sign = expression.getOperationTokenType();
      if (!sign.equals(T_NOT)) {
        return;
      }
      final GrExpression operand = expression.getOperand();
      if (isBooleanLiteral(operand)) {
        final PsiElement parent = expression.getParent();
        if (parent instanceof GrExpression && isUnaryNot((GrExpression)parent)) {
          // don't highlight inner unary in double negation
          return;
        }
        registerError(expression);
      }
      else if (isUnaryNot(operand) && isBooleanLiteral(((GrUnaryExpression)operand).getOperand())) {
        registerError(expression);
      }
    }
@Override
    public void visitUnaryExpression(@NotNull GrUnaryExpression expression)