public override void copyto(BehaviorTask target)
        {
            base.copyto(target);
            CompositeTask compositeTask = target as CompositeTask;

            compositeTask.m_activeChildIndex = this.m_activeChildIndex;
            int count = this.m_children.Count;

            for (int i = 0; i < count; i++)
            {
                BehaviorTask behaviorTask = this.m_children[i];
                BehaviorTask target2      = compositeTask.m_children[i];
                behaviorTask.copyto(target2);
            }
        }
        public override void copyto(BehaviorTask target)
        {
            base.copyto(target);

            Debug.Check(target is CompositeTask);
            CompositeTask ttask = target as CompositeTask;

            ttask.m_activeChildIndex = this.m_activeChildIndex;

            Debug.Check(this.m_children.Count > 0);
            Debug.Check(this.m_children.Count == ttask.m_children.Count);

            int count = this.m_children.Count;

            for (int i = 0; i < count; ++i)
            {
                BehaviorTask childTask  = this.m_children[i];
                BehaviorTask childTTask = ttask.m_children[i];

                childTask.copyto(childTTask);
            }
        }