Player controller = game.getPlayer(source.getControllerId());
Target target = new TargetPermanentOrPlayerWithCounter(0, Integer.MAX_VALUE, true);
//A spell or ability could have removed the only legal target this player
//had, if thats the case this ability should fizzle.
if (target.canChoose(controller.getId(), game)) {
boolean abilityApplied = false;
Map<String, Serializable> options = new HashMap<>();
options.put("UI.right.btn.text", "Done");
while (target.canChoose(controller.getId(), game)) {
if (controller.choose(Outcome.Benefit, target, source.getSourceId(), game, options)) {