protected override Player ParseUser(string[] handLines, PlayerList playerList)
        {
            //  NEW CODE
            //  Dealt to thanasunn [ As, 6h ]
            for (int i = 6; i < handLines.Length; i++)
            {
                string handLine = handLines[i];
                if (handLine.Contains("Dealt to"))
                {
                    var DealingMatch = Regex.Match(handLine, @"^Dealt to (?<name>.+) \[(?<Dealing>.+)\]");
                    string playerName = DealingMatch.Groups["name"].Value;

                    return playerList.SingleOrDefault(x => x.PlayerName == playerName);
                    break;
                }
            }
            return null;
        }
        protected override Player ParseUser(string[] handLines, PlayerList playerList)
        {
            XDocument document = GetXDocumentFromLines(handLines);
            XElement gameElement = GetGameElementFromXDocument(document);
            List<XElement> roundElements = gameElement.Elements("round").ToList();

            XElement PREFLOPround = roundElements.SingleOrDefault(x => x.Attribute("sequence").Value == "2");

            XElement card = PREFLOPround.Element("cards");
            if (card != null)
            {
                var xAttribute = card.Attribute("player");
                if (xAttribute != null)
                {
                    int playernumber = int.Parse(xAttribute.Value);
                    return playerList.SingleOrDefault(x => x.SeatNumber == playernumber);
                }
            }
            return null;
        }
        protected override Player ParseUser(string[] handLines, PlayerList playerList)
        {
            //  User: thanasunn88

            if (handLines[3].Contains("User:"******"^User: (?<playerName>.+)");
                string playerName = handLineMatch.Groups["playerName"].Value;
                return playerList.SingleOrDefault(x => x.PlayerName == playerName);
            }
            return null;
        }