* @return The results (returned as a list of objects) [0] the present value, [1] the present curve sensitivity, [2] the present value SABR sensitivity.
*/
public List<Object> presentValueCurveSABRSensitivity(final SwaptionPhysicalFixedIbor swaption, final SABRSwaptionProviderInterface sabrData) {
ArgumentChecker.notNull(swaption, "Swaption");
ArgumentChecker.notNull(sabrData, "SABR swaption provider");
final Currency ccy = swaption.getCurrency();
final MulticurveProviderInterface multicurves = sabrData.getMulticurveProvider();
//TODO: Create a way to chose the LMM base parameters (displacement, mean reversion, volatility).
final LiborMarketModelDisplacedDiffusionParameters lmmParameters = LiborMarketModelDisplacedDiffusionParameters.from(swaption, DEFAULT_DISPLACEMENT, DEFAULT_MEAN_REVERSION, new VolatilityLMMAngle(
DEFAULT_ANGLE, DEFAULT_DISPLACEMENT));
final SuccessiveRootFinderLMMDDCalibrationObjective objective = new SuccessiveRootFinderLMMDDCalibrationObjective(lmmParameters, ccy);