public void BuildHumanReadableFullName(StringBuilder text, HashSet<ITypeDescriptor> stack, uint indent)
{
if (stack.Contains(this))
{
text.Append(Name);
return;
}
stack.Add(this);
text.AppendLine(Name);
AppendIndent(text, indent);
text.AppendLine("{");
indent++;
foreach (var pair in _fields)
{
AppendIndent(text, indent);
text.Append(pair.Key);
text.Append(" : ");
pair.Value.BuildHumanReadableFullName(text, stack, indent);
text.AppendLine();
}
indent--;
AppendIndent(text, indent);
text.Append("}");
stack.Remove(this);
}