if (chosenCard != null) {
cards.remove(chosenCard);
Zone fromZone = game.getState().getZone(chosenCard.getId());
this.moveCardToLibraryWithInfo(chosenCard, source.getSourceId(), game, fromZone, false, false);
}
target.clearChosen();
}
if (cards.size() == 1) {
Card chosenCard = cards.get(cards.iterator().next(), game);
Zone fromZone = game.getState().getZone(chosenCard.getId());
this.moveCardToLibraryWithInfo(chosenCard, source.getSourceId(), game, fromZone, false, false);