/// <summary>
 /// Writes the object to an XElement instance using the specified root element name.
 /// </summary>
 /// <param name="rootElement">Root element name</param>
 /// <returns>XElement representation of the object</returns>
 public override XElement WriteToXml(XName rootElement)
 {
     return(new XElement(rootElement,
                         from provider in _providers.ProviderDictionary.Values
                         select provider.WriteToXml(
                             DefaultResourceConnectionProviderRegistry.GetProviderName(provider.GetType()))));
 }