public async Task <List <RemoteSrt> > GetRemoteEpisodeDetail(RemoteEpisode episode, string showName)
        {
            List <RemoteSrt> srts = new List <RemoteSrt>();

            string html = await _remote.GetRemoteEpisodeDetail(episode).ConfigureAwait(false);

            var doc = new HtmlDocument();

            doc.LoadHtml(html);

            var nodes = doc.DocumentNode.SelectNodes("//div")
                        .Where(div => div.Id == "container95m");

            foreach (HtmlNode htmlNode in nodes)
            {
                var htmlTitle = htmlNode.Descendants() /*.SelectNodes("//td")*/
                                .Where(n => n.HasClass("NewsTitle") && n.Attributes["colspan"].Value == "3");

                foreach (HtmlNode node in htmlTitle)
                {
                    string name = node.InnerText.Trim();

                    Regex  release     = new Regex(self_release_pattern);
                    var    regMatch    = release.Match(name);
                    string releaseTeam = null;
                    if (regMatch.Groups[1].Success)
                    {
                        releaseTeam = regMatch.Groups[1].Value;
                    }

                    var tableRef = node.ParentNode.ParentNode;

                    foreach (var lang in tableRef.Descendants().Where(l => l.HasClass("language")))
                    {
                        var parent = lang.ParentNode;

                        var impaired = parent.NextSibling.NextSibling.ChildNodes.SingleOrDefault(c => c.HasClass("newsDate"))?.InnerHtml
                                       .Contains("Hearing Impaired");

                        if (!impaired.HasValue || !impaired.Value)
                        {
                            var langGroup = parent.ChildNodes.Where(c => c.Name == "td").ToList();

                            var status = langGroup[3].InnerText.Trim();

                            if (status == "Completed")
                            {
                                var nbDl   = langGroup[4].ChildNodes.Count(c => c.Name == "a");
                                var dlLink = "";
                                if (nbDl == 1)
                                {
                                    dlLink = langGroup[4].ChildNodes.SingleOrDefault(c => c.Name == "a")
                                             ?.Attributes["href"].Value;
                                }
                                else if (nbDl > 1)
                                {
                                    dlLink = langGroup[4].ChildNodes.SingleOrDefault(c => c.Name == "a" && c.InnerText.Contains("most updated"))
                                             ?.Attributes["href"].Value;
                                }

                                srts.Add(new RemoteSrt
                                {
                                    ShowName     = showName,
                                    SeasonId     = episode.SeasonId,
                                    EpisodeId    = episode.Id,
                                    RemoteId     = episode.RemoteId,
                                    LongLanguage = lang.InnerText.Trim(),
                                    Release      = releaseTeam,
                                    RemoteUrl    = dlLink,
                                });
                            }
                        }
                    }
                }
            }

            return(srts);
        }