public static CachedMusicTreeNode.State Execute(this CachedMusicTreeNode root, MusicTreeEnvironment env, out CueMusicTreeNode resultNode)
        {
            var visitor = new PlaybackStepNodeVisitor(env);

            root.Accept(visitor);
            resultNode = visitor.RunningLeaf;
            return(root.ExecutionState);
        }
 public static void Accept(this CachedMusicTreeNode node, MusicNodeVisitor v)
 {
     node.Asset.Accept(v, node);
 }