Set<UUID> lands = new HashSet<>();
if (controller != null && sourcePermanent != null) {
for (String landName : new String[] {"Forest","Island","Mountain","Plains","Swamp"}) {
FilterLandPermanent filter = new FilterLandPermanent(new StringBuilder(landName).append(" to destroy").toString());
filter.add(new SubtypePredicate(landName));
Target target = new TargetLandPermanent(1,1, filter, true);
if (target.canChoose(source.getSourceId(), source.getControllerId(), game)) {
controller.chooseTarget(outcome, target, source, game);
lands.add(target.getFirstTarget());
}
}
if (!lands.isEmpty()) {
int destroyedLands = 0;