private void InitWaypoints(SCNNode node)
        {
            // find start of animation group system
            var systemRoot = node.ParentWithPrefix("_system");

            if (systemRoot != null)
            {
                // find all of the waypoints
                this.IterateForWaypoints(systemRoot);

                // close the loop
                var first = this.wayPoints.FirstOrDefault();
                if (first != null)
                {
                    var waypoint = new Waypoint(first.Pos,
                                                SCNVector3.Zero,
                                                first.Rot,
                                                (double)this.wayPoints.Count / this.speed);
                    this.wayPoints.Add(waypoint);
                }
            }
        }