private async Task UpdateIssue(Issue issue) { var localIssue = InternalItems.FirstOrDefault(x => x.Url == issue.Url); if (localIssue == null) { return; } var index = InternalItems.IndexOf(localIssue); if (index < 0) { return; } var matches = System.Text.RegularExpressions.Regex.Matches(issue.Url.AbsolutePath, "/repos/([^/]+)/([^/]+)/.+"); if (matches.Count != 1 || matches[0].Groups.Count != 3) { return; } InternalItems[index] = await _sessionService.GitHubClient.Issue.Get(matches[0].Groups[1].Value, matches[0].Groups[2].Value, issue.Number); InternalItems.Reset(); }