public AngularJsHtmlElementsProvider(Lifetime lifetime, AngularJsCache cache, ISolution solution)
        {
            this.cache = cache;
            this.solution = solution;

            // TODO: Finer grained caching?
            // This will clear the cache of elements whenever the AngularJs cache changes, which will be
            // every time a .js file is updated
            cache.CacheUpdated.Advise(lifetime, ClearCache);

            // TODO: Is this the right value for angular attributes?
            cdataAttributeValueType = new HtmlAttributeValueType("CDATA");
        }
        public AngularJsHtmlElementsProvider(Lifetime lifetime, AngularJsCache cache, ISolution solution, HtmlStandardDeclaredElementsProvider standardProvider)
        {
            this.cache            = cache;
            this.solution         = solution;
            this.standardProvider = standardProvider;

            // TODO: Finer grained caching?
            // This will clear the cache of elements whenever the AngularJs cache changes, which will be
            // every time a .js file is updated
            cache.CacheUpdated.Advise(lifetime, ClearCache);

            // TODO: Is this the right value for angular attributes?
            cdataAttributeValueType = new HtmlAttributeValueType("CDATA");
        }