public SpineTopDown(IVisitor v)
     : base(v,null)
 {
     then = new Choice(new One(this),
     new All(new Fail()));
 }
 public SpineBottomUp(IVisitor v)
     : base(null,v)
 {
     first = new Choice(new One(this),
     new All(new Fail()));
 }