static internal void Dump(AssistantDumper assistant, Descendant1 value, bool withSeparator = false)
        {
            assistant.IncrementDepth();
            if (assistant.MaximumDepthExceeded())
            {
                return;
            }

            assistant.AddStartObject();
            assistant.AddType("CSharpRefImpl.CSharpModel.Descendant1", true /*withSeparator*/);
            if (value == null)
            {
                assistant.Add("data", "<null>");
                assistant.AddEndObject();
                return;
            }

            assistant.AddKey("data");
            assistant.AddPairSeparator();
            assistant.AddStartObject();
            assistant.AddKey("__parent_0__");
            assistant.AddPairSeparator();
            CSharpRefImpl.CSharpModel.BaseDumper.Dump(assistant, value);
            assistant.AddEndObject(); // data
            assistant.AddEndObject(); // main object
            assistant.HandleMemberSeparator(withSeparator);

            assistant.DecrementDepth();
        }
 public static string Dump(Descendant1 value)
 {
     return(value.Dump());
 }
 static internal void Populate(Descendant1 value, uint position)
 {
     CSharpRefImpl.CSharpModel.BaseSequenceGenerator.Populate(value, position);
 }