private static async void ServersParse()
        {
            ServerList.cts?.Dispose();
            ServerList.cts = new CancellationTokenSource();

            // Prepare ping
            string pingData = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

            byte[]      pingBuffer  = Encoding.ASCII.GetBytes(pingData);
            PingOptions pingOptions = new PingOptions(64, true);

            var strings = ServerList._serversRaw.Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var data in strings)
            {
                var parts = data.Split(';');

                var sData = new ServerData();
                sData.counter = ServerList.counter;
                ServerList.counter++;

                sData.IP   = parts[0];
                sData.port = int.Parse(parts[1]);

                var fav = false;
                // TODO
                // try
                // {
                //   if (this._window.favourites.TryGetValue(sData.Address, out ServerData cache))
                //   {
                //     fav = cache.IsFavourite;
                //   };
                // }
                // catch (NullReferenceException e) { }
                sData.IsFavourite = fav;

                sData.serverInfo    = ServerInfo.Parse(parts[2]);
                sData.serverPlayers = ServerPlayers.Parse(parts[3]);

                // ServerList.PingICMPAsync(sData, ServerList.PING_THRESHOLD, pingBuffer, pingOptions);
                ServerList.PingUnity(sData, ServerList.PING_THRESHOLD);

                await Task.Delay(0);
            }
        }