/// <summary>
        /// Returns an enumerator that iterates through the collection.
        /// </summary>
        /// <returns>
        /// A <see cref="IEnumerator{T}"/> that can be used to iterate
        /// through the collection.
        /// </returns>
        /// <filterpriority>1</filterpriority>
        public override IEnumerator <T> GetEnumerator()
        {
            CompositeEnumerator <T> e = new CompositeEnumerator <T>(_collections.Count);

            foreach (ICollection <T> col in _collections)
            {
                e.Add(col.GetEnumerator());
            }
            return(e);
        }
        /// <summary>
        /// Returns an enumerator that iterates through the list.
        /// </summary>
        /// <returns>
        /// A <see cref="IEnumerator{T}"/> that can be used to iterate
        /// through the list.
        /// </returns>
        /// <filterpriority>1</filterpriority>
        public override IEnumerator <T> GetEnumerator()
        {
            CompositeEnumerator <T> e = new CompositeEnumerator <T>(_lists.Count);

            foreach (IList <T> col in _lists)
            {
                e.Add(col.GetEnumerator());
            }
            return(e);
        }