public override IEnumerable <Parser> Children(ParserChildrenArgs args) { if (Inner != null && args.Push(this)) { yield return(Inner); foreach (var child in Inner.Children(args)) { yield return(child); } args.Pop(); } }