public async Task <IEnumerable <RemoteSearchResult> > GetSearchResults(SeriesInfo info, CancellationToken cancellationToken) { try { var results = new List <RemoteSearchResult>(); var searchResults = await ShokoAPI.SeriesSearch(info.Name).ContinueWith((e) => e.Result.ToList()); Logger.LogInformation($"Series search returned {searchResults.Count} results."); foreach (var series in searchResults) { var seriesId = series.IDs.ID.ToString(); var seriesInfo = ApiManager.GetSeriesInfoSync(seriesId); var imageUrl = seriesInfo.AniDB.Poster?.ToURLString(); var parsedSeries = new RemoteSearchResult { Name = Text.GetSeriesTitle(seriesInfo.AniDB.Titles, seriesInfo.Shoko.Name, info.MetadataLanguage), SearchProviderName = Name, ImageUrl = imageUrl, }; parsedSeries.SetProviderId("Shoko Series", seriesId); results.Add(parsedSeries); } return(results); } catch (Exception e) { Logger.LogError(e, $"Threw unexpectedly; {e.Message}"); return(new List <RemoteSearchResult>()); } }