/// <summary>
        /// 元の TreeElementCollections 内の要素のサブセットを表す TreeElementCollections を返します。</summary>
        ///
        ///    <param name="anIndex">
        ///    範囲が開始する位置の、0から始まる TreeElementCollection のインデックス番号。</param>
        ///    <param name="aCount">
        ///    範囲内の要素の数。</param>
        ///
        public TreeElementCollection GetRange(Int32 anIndex, Int32 aCount)
        {
            TreeElementCollection list = new TreeElementCollection(this.OwnerElement);

            list.AddRange(this._list.GetRange(anIndex, aCount));

            return(list);
        }
        /// <summary>
        /// TreeElementCollection のディープコピーを作成します。</summary>
        ///
        public Object Clone()
        {
            TreeElementCollection cloneElementCollection = new TreeElementCollection(( TreeElement )this.OwnerElement.Clone());

            foreach (TreeElement element in this._list)
            {
                cloneElementCollection.Add(( TreeElement )element.Clone());

                if (element.HasChild)
                {
                    cloneElementCollection.AddRange(( TreeElementCollection )element.ChildElements.Clone());
                }
            }

            return(cloneElementCollection);
        }