private static List<ApplicationFolder> GetSubFolders(ApplicationManagementClient proxy, int? parentId) { var folders = proxy.GetApplicationFolders(parentId).ToList(); foreach (var folder in folders.ToArray()) { var subFolders = GetSubFolders(proxy, folder.ApplicationFolderId); folders.AddRange(subFolders); } return folders; }