ArgumentChecker.notNull(creditSpreadTermStructures, "Credit spread term structures");
ArgumentChecker.notNull(creditSpreadTenor, "Credit spread tenor");
ArgumentChecker.notNegative(q, "Percentile");
ArgumentChecker.isTrue(q <= 1.0, "Percentile must be less than or equal to 100%");
PercentileCalculator percentile = new PercentileCalculator(q);
double[] spreads = getSpreads(underlyingPool, creditSpreadTenors, creditSpreadTermStructures, creditSpreadTenor);
return percentile.evaluate(spreads);
}