private static void DoUpdate(object discarded) { // Check pending repositories for (int i = 0; i < PendingRepositories.Count; i++) { var repo = PendingRepositories[i]; if (repo.Expiry < DateTime.Now || GitHub.GetPullRequestStatus(repo.PullRequest, repo.Origin) == "closed") { // Delete repository Console.WriteLine("Deleting " + repo.Name); GitHub.DeleteRepository(repo.Name); PendingRepositories.Remove(repo); i--; } } SaveSession(); // Check pending issues var issues = GitHub.GetActiveIssues(BaseRepository); var toFix = issues.Where(i => i.Title.StartsWith("Fix ") && !PendingIssues.Contains(i.IssueNumber)); if (toFix.Count() != 0) { new Thread(() => FixRepository(toFix.First())).Start(); } }