protected virtual BoundExpression RewriteUnaryExpression(BoundUnaryExpression node)
        {
            var operand = RewriteExpression(node.Operand);

            if (operand == node.Operand)
            {
                return(node);
            }

            return(new BoundUnaryExpression(node.Op, operand));
        }