namespace MkvPropEditWrapper.MkvInfo; public static class NodeUtils { public static IEnumerable Descendants(this MkvNode root) { var nodes = new Stack(new[] {root}); while (nodes.Any()) { var node = nodes.Pop(); yield return node; foreach (var newNode in node.Children) { nodes.Push(newNode); } } } }