public override void VisitTernaryOperatorExpression <TExpression>(
     ITernaryOperatorExpression <TExpression> ternaryOperatorExpression)
 {
     Value = new Expression()
     {
         TernaryOperatorExpression = new TernaryOperatorExpressionFactory(ternaryOperatorExpression).Value
     };
 }
 public static void VisitTernaryOperatorExpressionChildren<TExpression>(
     ITernaryOperatorExpression<TExpression> ternaryOperatorExpression,
     IGenericExpressionVisitor visitor)
     where TExpression : IExpression
 {
     VisitIfNotNull(ternaryOperatorExpression.Left, visitor);
     VisitIfNotNull(ternaryOperatorExpression.Middle, visitor);
     VisitIfNotNull(ternaryOperatorExpression.Right, visitor);
 }
 public override void VisitTernaryOperatorExpression <TExpression>(
     ITernaryOperatorExpression <TExpression> ternaryOperatorExpression)
 {
     Steps.Add(new WriteExpression <TExpression>(ternaryOperatorExpression.Left));
     Steps.Add(new WriteWhitespace());
     Steps.Add(new WriteQuestionMark());
     Steps.Add(new WriteWhitespace());
     Steps.Add(new WriteExpression <TExpression>(ternaryOperatorExpression.Middle));
     Steps.Add(new WriteWhitespace());
     Steps.Add(new WriteColon());
     Steps.Add(new WriteWhitespace());
     Steps.Add(new WriteExpression <TExpression>(ternaryOperatorExpression.Right));
 }
 public virtual void VisitTernaryOperatorExpression <TExpression>(
     ITernaryOperatorExpression <TExpression> ternaryOperatorExpression)
     where TExpression : IExpression
 {
     Visit(ternaryOperatorExpression);
 }