// Modify the temp pool object to have the bumped recovery rate vector
modifiedPool = modifiedPool.withRecoveryRates(bumpedRecoveryRates);
// Construct a temporary index CDS
IndexCreditDefaultSwapDefinition tempIndex = indexCDS;
// Modify the temporary index to have the modified underlying pool
tempIndex = tempIndex.withUnderlyingPool(modifiedPool);
// Calibrate the hazard rate term structures of each of the obligors in the pool underlying the index to the bumped recovery rates
final HazardRateCurve[] bumpedHazardRateCurves = calibrateHazardRateCurves.getCalibratedHazardRateCurves(valuationDate, tempIndex, marketTenors, marketSpreads, yieldCurves);
// Calculate the bumped value of the index