public void Deal()
        {
            Bindings.HasWinner = false;
            Blackjack.PlayerHands.ForEach(hand => Blackjack.RemovePlayerHand(hand));
            Blackjack.Players.ForEach(player => Blackjack.AddPlayerHand(player));
            Blackjack.Shuffle();
            DealerHand           = Blackjack.PlayerHands.FirstOrDefault(hand => hand.Player == Dealer);
            Bindings.DealerHand  = DealerHand;
            Bindings.PlayerHands = Blackjack.PlayerHands.Where(hand => hand != DealerHand).ToList();

            Blackjack.PlayerHands.ForEach(hand => Blackjack.DealToPlayer(2, hand));

            CheckForWinner();
            if (!Bindings.HasWinner)
            {
                DealerHand.Cards.Last().IsVisible = false;
            }
            //hide the dealers 2nd card(in a real implementation this wouldn't go to the client)
        }