/// <summary>
        /// Retrieve related Anime and Manga for the Anime
        /// </summary>
        /// <param name="anime">Anime instance to populate</param>
        /// <param name="doc">Html document from which data should be pulled</param>
        /// <returns>Anime instance</returns>
        public static Anime RetrieveRelatedAnime(this Anime anime, HtmlDocument doc)
        {
            var relatedNodes = doc.DocumentNode
                               .SelectSingleNode("//table[@class='anime_detail_related_anime']");

            return(relatedNodes == null
                ? anime
                : relatedNodes.ChildNodes.Count > 1
                    ? anime.ParseRelatedTableRows(relatedNodes)
                    : anime.ParseRelatedTableCells(relatedNodes.FirstChild));
        }
        /// <summary>
        /// If the related items is a proper table with multiple ```tr``` rows instead of one ```tr``` row with another embedded ```tr``` then the direct parsing method fails,
        /// instead this method should be called to parse each individual ```tr```
        /// </summary>
        /// <param name="anime">Anime instance to populate</param>
        /// <param name="rowsToParse">Node containing the rows</param>
        /// <returns>Anime instance</returns>
        private static Anime ParseRelatedTableRows(this Anime anime, HtmlNode rowsToParse)
        {
            foreach (var row in rowsToParse.ChildNodes)
            {
                if (row.Name == "tr")
                {
                    anime.ParseRelatedTableCells(row);
                }
            }

            return(anime);
        }