public DescriptionTextWriter(Description description)
 {
     if (!description.IsMultiLevel())
     {
         _report.AddText(description.ToString());
     }
     else
     {
         description.AcceptVisitor(this);
     }
 }
 void IDescriptionVisitor.Start(Description description)
 {
     if (_level == 0)
     {
         _report.AddDivider('=');
         _report.AddText(description.ToString());
         _report.AddDivider('=');
     }
     else
     {
         _report.AddColumnData(_prefixes.Peek().GetPrefix() + description.Title, description.ShortDescription);
     }
 }
        void IDescriptionVisitor.Start(Description description)
        {
            if (_level == 0)
            {
                _report.AddDivider('=');
                _report.AddText(description.ToString());
                _report.AddDivider('=');

                writeProperties(4, description);

                writeChildren(4, description);
            }
            else
            {
                var prefix = _prefixes.Peek().GetPrefix();
                var indent = prefix.Length;
                if (_childName.IsNotEmpty())
                {
                    prefix = prefix + _childName + ":";
                    indent += 5;
                }

                var firstColumn = _childName.IsEmpty() ? prefix : prefix + _childName + ":";
                _report.AddColumnData(firstColumn, description.Title, description.ShortDescription ?? string.Empty);

                writeProperties(indent, description);
                writeChildren(indent, description);
            }
        }