public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(targetPointer.getFirst(game, source));
if (player != null) {
Card card = player.getLibrary().removeFromTop(game);
if (card != null) {
card.moveToExile(source.getSourceId(), "Omen Machine Exile", source.getSourceId(), game);
if (card.getCardType().contains(CardType.LAND)) {
card.putOntoBattlefield(game, Zone.EXILED, source.getSourceId(), player.getId());
}
else {
player.cast(card.getSpellAbility(), game, true);