Permanent permanent = game.getPermanent(source.getFirstTarget());
if (controller != null && permanent != null) {
Player player = game.getPlayer(permanent.getControllerId());
if (controller.moveCardToExileWithInfo(permanent, null, "", source.getSourceId(), game, Zone.BATTLEFIELD)) {
if (player.chooseUse(Outcome.PutCardInPlay, "Search your library for a basic land card?", game)) {
TargetCardInLibrary target = new TargetCardInLibrary(new FilterBasicLandCard());
if (player.searchLibrary(target, game)) {
Card card = player.getLibrary().getCard(target.getFirstTarget(), game);
if (card != null) {
player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId(), true);
}