public void Configure(BehaviorGraph graph)
        {
            var diagnosticGraph = new DiagnosticGraph();
            diagnosticGraph.Add(graph.ApplicationAssembly);
            diagnosticGraph.Add(typeof(IPackageFacility).Assembly);

            PackageRegistry.PackageAssemblies.Each(diagnosticGraph.Add);

            diagnosticGraph.Groups().SelectMany(x => x.Chains).Each(graph.AddChain);

            graph.Services.AddService(diagnosticGraph);
        }
        public DiagnosticGroupsMenuTag(DiagnosticGraph groups, ICurrentHttpRequest httpRequest) : base("ul")
        {
            AddClass("dropdown-menu");
            Attr("role", "menu");
            Attr("aria-labelledby", "groups");

            groups.Groups().OrderBy(x => x.Title).Each(group => {
                var li = Add("li").Attr("role", "presentation");
                li.Add("a")
                    .Attr("role", "menuitem")
                    .Attr("tabindex", "-1")
                    .Attr("href", httpRequest.ToFullUrl(group.GetDefaultUrl()))
                    .Text(group.Title).Attr("title", group.Description);
            });
        }