public TailObjectMember(Comma comma, ObjectMember objectMember)
     : base(comma, objectMember)
 {
     this.comma        = comma;
     this.objectMember = objectMember;
 }
 public TailJsonArrayElement(Comma comma, JsonArrayElement arrayElement)
     : base(comma, arrayElement)
 {
     this.comma        = comma;
     this.arrayElement = arrayElement;
 }
 public TailObjectMember(Comma comma, ObjectMember objectMember)
     : base(comma, objectMember)
 {
     this.comma = comma;
     this.objectMember = objectMember;
 }
 public TailJsonArrayElement(Comma comma, JsonArrayElement arrayElement)
     : base(comma, arrayElement)
 {
     this.comma = comma;
     this.arrayElement = arrayElement;
 }
 protected virtual Comma VisitComma(Comma node)
 {
     return VisitSyntaxNode(node) as Comma;
 }
 protected override Comma VisitComma(Comma node)
 {
     visitedComma = true;
     Assert.IsTrue(node.Value == ",");
     return base.VisitComma(node);
 }