private void InitializeUrlParser(IServiceContainer container)
        {
            var        config = container.Resolve <HostSection>();
            IUrlParser parser;

            if (config.MultipleSites)
            {
                parser = new MultipleSitesParser(container.Resolve <IPersister>(), container.Resolve <IWebContext>(), container.Resolve <IHost>(), container.Resolve <Plugin.ConnectionMonitor>(), config);
            }
            else
            {
                parser = new UrlParser(container.Resolve <IPersister>(), container.Resolve <IWebContext>(), container.Resolve <IHost>(), container.Resolve <Plugin.ConnectionMonitor>(), config);
            }

            if (config.Web.Urls.EnableCaching)
            {
                parser = new CachingUrlParserDecorator(parser, container.Resolve <IPersister>(), container.Resolve <IWebContext>(), container.Resolve <CacheWrapper>(), config);
            }

            container.AddComponentInstance("n2.urlParser", typeof(IUrlParser), parser);
        }