internal object ToDump() => new { Name, Attributes = from an in AttributeNames select new { Name = an, Value = GetAttributeValue(an) }, ChildElementCount = HasChildElements ? ChildElements.Count() : 0, OuterHtml = OuterHtml.Length <= 300 ? (object)OuterHtml : new Lazy <string>(() => OuterHtml) };