private static void recurse(JToken category, Category parent) { string browseUrl = AmazonVideoRequest.GenerateVirtualBrowseUrlTemplate() + "&"; int index = 0; parent.hasChildren = (category["categories"] != null); if (parent.hasChildren) { //to prevent loading of dummy content, I am resetting query to blank for any parents. parent.Query = ""; foreach (JToken subcategory in category["categories"]) { string junk2 = subcategory.ToString(); Category subcatobj = new Category((string)subcategory["title"], browseUrl + (string)subcategory["query"], parent, index); subcatobj.CatDescription = (string)subcategory["description"]; parent.List.Add(subcatobj); parent.hasChildren = true; index++; recurse(subcategory, subcatobj); } parent.bindListToChoice(); } }