private IEnumerable<CardsCombination> AskForCardCombinations(IPlayer player)
{
var currentPlayerHand = this.playerCards[(int)this.game[player]];
var allowedCombinations = currentPlayerHand.FindAvailableCardsCombinations().ToList();
var playerCombinaions = player.AskForCardsCombinations(allowedCombinations.ToList());
var finalCombinations = new List<CardsCombination>();
foreach (var cardCombination in playerCombinaions)
{
if (allowedCombinations.Contains(cardCombination))
{
finalCombinations.Add(cardCombination);
allowedCombinations.Remove(cardCombination);
}
}
return finalCombinations;
}