private HtmlTag buildCollapsedDescriptionTag(Description description, DescriptionBodyTag bodyTag)
        {
            var collapsible = new CollapsibleTag(Guid.NewGuid().ToString(), description.Title);

            collapsible.AppendContent(bodyTag);

            return(collapsible);
        }
        public HtmlTag VisualizeDescription(Description description, bool ellided = true)
        {
            if (!description.HasMoreThanTitle())
            {
                return(new HtmlTag("div", x =>
                {
                    x.PrependGlyph(GlyphFor(description.TargetType));
                    x.Add("span").Text(description.Title);
                }));
            }

            var bodyTag = new DescriptionBodyTag(description);

            if (ellided)
            {
                return(buildCollapsedDescriptionTag(description, bodyTag));
            }

            return(new HtmlTag("div", div =>
            {
                div.Add("h4").AddClass("desc-title").Text(description.Title);
                div.Append(bodyTag);
            }));
        }