internal void RevealCardsFromDiscard(int cardCount, CardPredicate cardPredicate)
{
for (int i = 0; i < cardCount; ++i)
{
// warning, n^2 algorithm here.
Card card = this.discard.RemoveCard(cardPredicate);
if (card == null)
{
throw new System.Exception("Could not reveal needed number of cards from discard");
}
RevealCard(card, DeckPlacement.Discard);
this.cardsBeingRevealed.AddCard(card);
}
}