public SiteMapNodePluginProvider(
            IDynamicNodeProviderStrategy dynamicNodeProviderStrategy,
            ISiteMapNodeUrlResolverStrategy siteMapNodeUrlResolverStrategy,
            ISiteMapNodeVisibilityProviderStrategy siteMapNodeVisibilityProviderStrategy
            )
        {
            if (dynamicNodeProviderStrategy == null)
                throw new ArgumentNullException("dynamicNodeProviderStrategy");
            if (siteMapNodeUrlResolverStrategy == null)
                throw new ArgumentNullException("siteMapNodeUrlResolverStrategy");
            if (siteMapNodeVisibilityProviderStrategy == null)
                throw new ArgumentNullException("siteMapNodeVisibilityProviderStrategy");

            this.dynamicNodeProviderStrategy = dynamicNodeProviderStrategy;
            this.siteMapNodeUrlResolverStrategy = siteMapNodeUrlResolverStrategy;
            this.siteMapNodeVisibilityProviderStrategy = siteMapNodeVisibilityProviderStrategy;
        }
        public SiteMapNodePluginProvider(
            IDynamicNodeProviderStrategy dynamicNodeProviderStrategy,
            ISiteMapNodeUrlResolverStrategy siteMapNodeUrlResolverStrategy,
            ISiteMapNodeVisibilityProviderStrategy siteMapNodeVisibilityProviderStrategy
            )
        {
            if (dynamicNodeProviderStrategy == null)
            {
                throw new ArgumentNullException("dynamicNodeProviderStrategy");
            }
            if (siteMapNodeUrlResolverStrategy == null)
            {
                throw new ArgumentNullException("siteMapNodeUrlResolverStrategy");
            }
            if (siteMapNodeVisibilityProviderStrategy == null)
            {
                throw new ArgumentNullException("siteMapNodeVisibilityProviderStrategy");
            }

            this.dynamicNodeProviderStrategy           = dynamicNodeProviderStrategy;
            this.siteMapNodeUrlResolverStrategy        = siteMapNodeUrlResolverStrategy;
            this.siteMapNodeVisibilityProviderStrategy = siteMapNodeVisibilityProviderStrategy;
        }