public void Visit(ConditionalExpression expression)
 {
     throw new NotImplementedException();
 }
 public void Visit(ConditionalExpression expression)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// Visits a conditional expression
        /// </summary>
        /// <param name="expression">The expression</param>
        /// <exception cref="ArgumentNullException">Thrown when the input parameter is null</exception>        
        public void Visit(ConditionalExpression expression)
        {
            if (expression == null)
            {
                throw new ArgumentNullException("expression");
            }

            expression.FirstExpression.Accept(this);
            object first = result;

            if (first is int)
            {
                if (Convert.ToBoolean((int)first))
                {
                    expression.SecondExpression.Accept(this);
                }
                else
                {
                    expression.ThirdExpression.Accept(this);
                }
            }
            else
            {
                expression.SecondExpression.Accept(this);
                object second = result;

                expression.ThirdExpression.Accept(this);
                object third = result;
                result = String.Format("{0} ? {1} : {2}", first, second, third);
            }
        }