/// <summary>Initialize a new instance of the RssModuleItem class</summary>
 /// <param name="name">The name of this RssModuleItem.</param>
 /// <param name="text">The text contained within this RssModuleItem.</param>
 /// <param name="subElements">The sub-elements of this RssModuleItem (if any exist).</param>
 public RssModuleItem(string name, string text, RssModuleItemCollection subElements)
     : this(name, text)
 {
     _rssSubElements = subElements;
 }
 /// <summary>Searches for the specified RssModuleItemCollection and returns the zero-based index of the first occurrence within the entire RssModuleItemCollectionCollection.</summary>
 /// <param name="rssModuleItemCollection">The RssModuleItemCollection to locate in the RssModuleItemCollectionCollection.</param>
 /// <returns>The zero-based index of the first occurrence of RssModuleItemCollection within the entire RssModuleItemCollectionCollection, if found; otherwise, -1.</returns>
 public int IndexOf(RssModuleItemCollection rssModuleItemCollection)
 {
     return List.IndexOf(rssModuleItemCollection);
 }
 /// <summary>Inserts an item into this collection at a specified index.</summary>
 /// <param name="index">The zero-based index of the collection at which to insert the item.</param>
 /// <param name="rssModuleItemCollection">The item to insert into this collection.</param>
 public void Insert(int index, RssModuleItemCollection rssModuleItemCollection)
 {
     List.Insert(index, rssModuleItemCollection);
 }
 /// <summary>Copies the entire RssModuleItemCollectionCollection to a compatible one-dimensional <see cref="Array"/>, starting at the specified index of the target array.</summary>
 /// <param name="array">The one-dimensional RssModuleItemCollection Array that is the destination of the elements copied from RssModuleItemCollectionCollection. The Array must have zero-based indexing.</param>
 /// <param name="index">The zero-based index in array at which copying begins.</param>
 /// <exception cref="ArgumentNullException">array is a null reference (Nothing in Visual Basic).</exception>
 /// <exception cref="ArgumentOutOfRangeException">index is less than zero.</exception>
 /// <exception cref="ArgumentException">array is multidimensional. -or- index is equal to or greater than the length of array.-or-The number of elements in the source RssModuleItemCollectionCollection is greater than the available space from index to the end of the destination array.</exception>
 public void CopyTo(RssModuleItemCollection[] array, int index)
 {
     List.CopyTo(array, index);
 }
 /// <summary>Determines whether the RssModuleItemCollectionCollection contains a specific element.</summary>
 /// <param name="rssModuleItemCollection">The RssModuleItemCollection to locate in the RssModuleItemCollectionCollection.</param>
 /// <returns>true if the RssModuleItemCollectionCollection contains the specified value; otherwise, false.</returns>
 public bool Contains(RssModuleItemCollection rssModuleItemCollection)
 {
     return List.Contains(rssModuleItemCollection);
 }
 /// <summary>Adds a specified item to this collection.</summary>
 /// <param name="rssModuleItemCollection">The item to add.</param>
 /// <returns>The zero-based index of the added item.</returns>
 public int Add(RssModuleItemCollection rssModuleItemCollection)
 {
     return List.Add(rssModuleItemCollection);
 }
 /// <summary>Removes a specified item from this collection.</summary>
 /// <param name="rssModuleItemCollection">The item to remove.</param>
 public void Remove(RssModuleItemCollection rssModuleItemCollection)
 {
     List.Remove(rssModuleItemCollection);
 }
 private void writeSubElements(RssModuleItemCollection items, string NamespacePrefix)
 {
     foreach (RssModuleItem rssModuleItem in items)
     {
         if (rssModuleItem.SubElements.Count == 0)
             WriteElement(NamespacePrefix + ":" + rssModuleItem.Name, rssModuleItem.Text,
                          rssModuleItem.IsRequired);
         else
         {
             writer.WriteStartElement(NamespacePrefix + ":" + rssModuleItem.Name);
             writeSubElements(rssModuleItem.SubElements, NamespacePrefix);
             writer.WriteEndElement();
         }
     }
 }