final double years = DateUtils.getDifferenceInYears(today, expiry.getExpiry());
final double b = discountCurve.getInterestRate(years); // TODO
final OptionDefinition europeanVanillaOptionDefinition = new EuropeanVanillaOptionDefinition(optionSec.getStrike(), expiry, (optionSec.getOptionType() == OptionType.CALL));
final Map<OptionDefinition, Double> prices = new HashMap<OptionDefinition, Double>();
prices.put(europeanVanillaOptionDefinition, optionPrice);
final VolatilitySurface volatilitySurface = _volatilitySurfaceModel.getSurface(prices, new StandardOptionDataBundle(discountCurve, b, null, underlyingPrice, today));
//This is so cheap no need to check desired values
final double impliedVol = volatilitySurface.getVolatility(0.0, 0.0); //This surface is constant
// Package the result