@Override
    public void play(long currentTime) {
        super.play(currentTime);

        if (drawRequest) {
            this.drawCard();
            drawRequest = false;
        }

        if (playRequest != null) {
            if (eightSuiteRequest >= 0 && playRequest.value == Card.EIGHT) {
                this.playEight(playRequest, eightSuiteRequest);
                eightSuiteRequest = -1;
            }
            else  {
                this.playCard(playRequest);
            }

            playRequest = null;
        }

        if (endTurnRequest) {
            this.endPlay();
            endTurnRequest = false;
        }
    }