@Override
    public boolean undo(CardGame game, CardPanel panel) {
        Hand hand = game.getHand();
        List<List<Card>> board = game.getBoard();
        List<Card> fromHandList = hand.getList();
        //Must be the last one as was just done
        Card fromHand = fromHandList.remove(fromHandList.size() - 1);

        game.getDeck().push(fromHand);

        if (hand != null && hand.getIndex() != -1) {
            board.set(hand.getIndex(), hand.getList());
        }

        game.setHand(prevHand);
        //Nothing there
        if (prevHand != null) {
            board.set(prevHand.getIndex(), new CopyOnWriteArrayList<Card>());
        }
        return true;
    }