public static List <ProspectRanking> GetProspects(HtmlDocument document, DateTime dateOfRanks, int pageNumber)
        {
            var prospectList = new List <ProspectRanking>();

            if (document.DocumentNode != null)
            {
                var tbl = document.DocumentNode.SelectNodes("/html[1]/body[1]/div[1]/div[3]/div[1]/table[1]");

                if (tbl == null)
                {
                    File.AppendAllText($"logs{Path.DirectorySeparatorChar}Status.log", $"No prospects on page {pageNumber}" + Environment.NewLine);
                    return(prospectList);
                }

                // Create variables to store prospect rankings.
                int    rank         = 0;
                string change       = "";
                string playerName   = "";
                string school       = "";
                string position1    = "";
                string height       = "";
                int    weight       = 0;
                string collegeClass = "";

                foreach (HtmlNode table in tbl)
                {
                    foreach (HtmlNode row in table.SelectNodes("tr"))
                    {
                        foreach (HtmlNode cell in row.SelectNodes("th|td"))
                        {
                            string Xpath = cell.XPath;
                            int    locationOfColumnNumber = cell.XPath.Length - 2;
                            char   dataIndicator          = Xpath[locationOfColumnNumber];
                            bool   isRank = (dataIndicator == '1');
                            switch (dataIndicator)
                            {
                            case '1':
                                // td[1]= Rank
                                if (Int32.TryParse(cell.InnerText, out int rankNumber))
                                {
                                    rank = rankNumber;
                                }
                                File.AppendAllText($"logs{Path.DirectorySeparatorChar}Prospects.log", "Big Board Rank: " + cell.InnerText + Environment.NewLine);
                                break;

                            case '2':
                                // td[2]= Change
                                change = cell.InnerText;
                                change = change.Replace("&nbsp;", "");
                                break;

                            case '3':
                                // td[3]= Player
                                playerName = cell.InnerText;
                                File.AppendAllText($"logs{Path.DirectorySeparatorChar}Prospects.log", "Player: " + cell.InnerText + Environment.NewLine);
                                break;

                            case '4':
                                // td[4]= School
                                school = School.CheckSchool(cell.InnerText);
                                break;

                            case '5':
                                // td[5]= Pos1
                                position1 = cell.InnerText;
                                break;

                            case '6':
                                // td[6]= Ht
                                height = cell.InnerText;
                                break;

                            case '7':
                                // td[7]= Weight
                                if (Int32.TryParse(cell.InnerText, out int weightNumber))
                                {
                                    weight = weightNumber;
                                }
                                break;

                            case '8':
                                // College Class- used to be Pos2 (which was often blank)
                                collegeClass = cell.InnerText;
                                break;

                            case '9':
                                // td[9]= Link to Bio (not used)
                                continue;

                            default:
                                break;
                            }
                        }
                        // Handle draft eligibility and declarations (done via row color)
                        string draftStatus = "";
                        if (row.Attributes.Contains("style") && row.Attributes["style"].Value.Contains("background-color"))
                        {
                            string rowStyle        = row.Attributes["style"].Value;
                            string backgroundColor = Regex.Match(rowStyle, @"background-color: \w*").Value.Substring(18);
                            draftStatus = backgroundColor switch
                            {
                                "white" => "Eligible",
                                "lightblue" => "Underclassman",
                                "palegoldenrod" => "Declared",
                                _ => "",
                            };
                            File.AppendAllText($"logs{Path.DirectorySeparatorChar}Prospects.log", "Draft Status: " + draftStatus + Environment.NewLine);
                        }
                        // The header is in the table, so I need to ignore it here.
                        if (change != "CNG")
                        {
                            prospectList.Add(new ProspectRanking(dateOfRanks, rank, change, playerName, school, position1, height, weight, collegeClass, draftStatus));
                        }
                    }
                }
                File.AppendAllText($"logs{Path.DirectorySeparatorChar}Status.log", $"Prospect count on page {pageNumber}: {prospectList.Count}" + Environment.NewLine);
            }
            return(prospectList);
        }