void IInteractionRule.Interact(Card card, ICardCollection source)
            {
                _NextRule = InteractionRuleType.Peek2;

                if (_CardCollections.Inspect.Count < 2)
                {
                    source.RemoveCard(card);
                    _CardCollections.Inspect.AddCard(card);
                }
                else
                {
                    source.AddCard(_CardCollections.Inspect.RemoveFirstCard());
                    source.AddCard(_CardCollections.Inspect.RemoveFirstCard());
                    _NextRule = InteractionRuleType.Default;
                }
            }
            void IInteractionRule.Interact(Card card, ICardCollection source)
            {
                switch (source.Type)
                {
                case InteractionController.CardCollectionType.Draw:
                {
                    _NextRule = InteractionRuleType.FromDraw;
                    if (card.Type != Card.CardType.Normal)
                    {
                        _NextRule = InteractionRuleType.FromDrawSpecial;
                    }

                    var topCard = source.RemoveCard(default);
                    _CardCollections.Inspect.AddCard(topCard);

                    break;
                }