### Question:
SabrIborCapFloorProductPricer extends VolatilityIborCapFloorProductPricer { public PointSensitivityBuilder presentValueSensitivityRatesStickyModel( ResolvedIborCapFloor capFloor, RatesProvider ratesProvider, SabrIborCapletFloorletVolatilities volatilities) { PointSensitivityBuilder pvSensiCapFloorLeg = capFloorLegPricer.presentValueSensitivityRatesStickyModel(capFloor.getCapFloorLeg(), ratesProvider, volatilities); if (!capFloor.getPayLeg().isPresent()) { return pvSensiCapFloorLeg; } PointSensitivityBuilder pvSensiPayLeg = getPayLegPricer().presentValueSensitivity(capFloor.getPayLeg().get(), ratesProvider); return pvSensiCapFloorLeg.combinedWith(pvSensiPayLeg); } SabrIborCapFloorProductPricer(SabrIborCapFloorLegPricer capFloorLegPricer, DiscountingSwapLegPricer payLegPricer); PointSensitivityBuilder presentValueSensitivityRatesStickyModel(
      ResolvedIborCapFloor capFloor,
      RatesProvider ratesProvider,
      SabrIborCapletFloorletVolatilities volatilities); PointSensitivityBuilder presentValueSensitivityModelParamsSabr(
      ResolvedIborCapFloor capFloor,
      RatesProvider ratesProvider,
      SabrIborCapletFloorletVolatilities volatilities); static final SabrIborCapFloorProductPricer DEFAULT; }### Answer:
@Test public void test_presentValueSensitivityRatesStickyModel() { PointSensitivityBuilder computed1 = PRICER.presentValueSensitivityRatesStickyModel(CAP_ONE_LEG, RATES, VOLS); PointSensitivityBuilder computed2 = PRICER.presentValueSensitivityRatesStickyModel(CAP_TWO_LEGS, RATES, VOLS); PointSensitivityBuilder cap = PRICER_CAP_LEG.presentValueSensitivityRatesStickyModel(CAP_LEG, RATES, VOLS); PointSensitivityBuilder pay = PRICER_PAY_LEG.presentValueSensitivity(PAY_LEG, RATES); assertThat(computed1).isEqualTo(cap); assertThat(computed2).isEqualTo(cap.combinedWith(pay)); }