}
else
{
//If it's greater, you may pay {X}, where X is the difference. If you do, put it onto the battlefield.
GenericManaCost cost = new GenericManaCost(card.getManaCost().convertedManaCost() - convertedManaCost);
if(cost.pay(source, game, source.getSourceId(), source.getControllerId(), false)){
controller.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId());
}
else{
//If you don't, put it into its owner's graveyard. Then shuffle your library
controller.moveCardToGraveyardWithInfo(card, source.getSourceId(), game, Zone.LIBRARY);