private static void checkChildCollectionData() { Console.WriteLine("Child Collection Format"); ChildCollection test = new ChildCollection(); test.id = 1; test.name = "test"; test.decimal_value = 5.3M; test.collections = new List <ChildCollection>() { test.Clone() as ChildCollection }; var creator = new Creator <ChildCollection>(); var kvps = new List <KeyValuePair <string, object> >(); creator.addKVP(kvps, test); foreach (var kvp in kvps) { Console.WriteLine($"{kvp.Key} - {kvp.Value}"); } }