protected virtual void AddProvider (string providerName, SiteMapNode parentNode)
{
if (parentNode == null)
throw new ArgumentNullException ("parentNode");
if (parentNode.Provider != this)
throw new ArgumentException ("The Provider property of the parentNode does not reference the current provider.", "parentNode");
SiteMapProvider smp = SiteMap.Providers [providerName];
if (smp == null)
throw new ProviderException ("Provider with name [" + providerName + "] was not found.");
AddNode (smp.GetRootNodeCore ());
RegisterChildProvider (providerName, smp);
}