PlayerList playerList = game.getPlayerList().copy();
playerList.setCurrent(player.getId());
Player currentPlayer = playerList.getNext(game);
String message = new StringBuilder("Pay 2 life to put ").append(card.getName()).append(" into graveyard?").toString();
while (!currentPlayer.getId().equals(player.getId())) {
if (currentPlayer.canPayLifeCost() &&
currentPlayer.getLife() >= 2 &&
currentPlayer.chooseUse(Outcome.Benefit, message, game)) {
currentPlayer.loseLife(2, game);
player.moveCardToGraveyardWithInfo(card, source.getSourceId(), game, Zone.LIBRARY);