public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
{
if (currentPlayer.RequestPlayerDiscardCardFromHand(gameState, acceptableCard => acceptableCard == Estate.card, isOptional: true))
{
currentPlayer.AddCoins(4);
}
else
{
currentPlayer.GainCardFromSupply(Estate.card, gameState);
}
}