private static int GetNextRankReportTeamNumber(int currentTeamNumber, int maxTeamNumber, TeamCollection teams) { var nextTeamNumber = currentTeamNumber + 1; var checkedTeamCount = 0; Team team = null; while (true) { if (nextTeamNumber > maxTeamNumber) nextTeamNumber = 1; team = teams.Team(nextTeamNumber); checkedTeamCount++; if (team != null && team.Players != null && team.Players.Count > 0) break; if (checkedTeamCount >= maxTeamNumber) { nextTeamNumber = 0; break; } } return nextTeamNumber; }