public bool CanSplit(PlayerHand hand)
{
if (hand.Finished)
return false;
if (hand.Player.Splits >= Settings.MaxSplitsAllowed)
return false;
if (hand.Cards.Count() != 2)
return false;
var c = hand.Cards.ElementAt(0);
if (c.HighValue != hand.Cards.ElementAt(1).HighValue)
return false;
if (!Settings.ResplitAcesAllowed && c.Rank == Ranks.Ace && hand.HasBeenSplit)
return false;
if (!Settings.SplitTensAllowed && c.HighValue == 10)
return false;
return true;
}