public static SimpleTypeWihtMoreProperties CreateSimpleTypeWihtMoreProperties(int height, int parentId, int currentId, int collectionSize, int childListSize)
        {
            int index = parentId * childListSize + (currentId + 1);
            var obj   = new SimpleTypeWihtMoreProperties()
            {
                IntProperty        = index,
                StringProperty     = index + " string value",
                EnumProperty       = (MyEnum)(index % (Enum.GetNames(typeof(MyEnum)).Length)),
                CollectionProperty = new List <string>(collectionSize),
                SimpleTypeList     = new List <SimpleTypeWihtMoreProperties>(childListSize)
            };

            for (int i = 0; i < collectionSize; ++i)
            {
                obj.CollectionProperty.Add(index + "." + i);
            }
            if (height > 1)
            {
                for (int i = 0; i < childListSize; ++i)
                {
                    obj.SimpleTypeList.Add(CreateSimpleTypeWihtMoreProperties(height - 1, index, i, collectionSize, childListSize));
                }
            }
            return(obj);
        }
 public static SimpleTypeWihtMoreProperties CreateSimpleTypeWihtMoreProperties(int height, int parentId, int currentId, int collectionSize, int childListSize)
 {
     int index = parentId * childListSize + (currentId + 1);
     var obj = new SimpleTypeWihtMoreProperties()
     {
         IntProperty = index,
         StringProperty = index + " string value",
         EnumProperty = (MyEnum)(index % (Enum.GetNames(typeof(MyEnum)).Length)),
         CollectionProperty = new List<string>(collectionSize),
         SimpleTypeList = new List<SimpleTypeWihtMoreProperties>(childListSize)
     };
     for (int i = 0; i < collectionSize; ++i)
     {
         obj.CollectionProperty.Add(index + "." + i);
     }
     if (height > 1)
     {
         for (int i = 0; i < childListSize; ++i)
         {
             obj.SimpleTypeList.Add(CreateSimpleTypeWihtMoreProperties(height - 1, index, i, collectionSize, childListSize));
         }
     }
     return obj;
 }