private List <string> RequestLeagueTables(string seasonId) { var teams = new List <string>(); // Find "leaguetables" link var url = _links.GetLinkUrl(new LeagueTablesHandler()); Assert.IsNotNull(url); // Follow link to get all league tables of the season. var response = _requestHandler.GetLeagueTables(seasonId); // Store 4 leaguetables in private field (depending on boolean argument) var leagueTables = new List <JArray>(); using (var stream = response.MessageBody) { var json = stream.GetJson(); for (int i = 0; i < 4; i++) { leagueTables.Add((JArray)json["_embedded"]["rel:leaguetables"][i]["_embedded"]["positions"]); } } // Create a list of TeamIds over all leagues ordered by their position in the league. foreach (var leagueTable in leagueTables) { foreach (var position in leagueTable) { var teamId = position["_embedded"]["team"]["_links"]["self"]["href"].ToString(); teams.Add(teamId); } } return(teams); }