public double getParallelCS01(
     CDSQuoteConvention quote,
     CDSAnalytic analytic,
     ISDACompliantYieldCurve yieldCurve,
     double notional,
     CDSAnalytic[] pillars,
     double[] pillarSpreads) {
   double cs01;
   if (quote instanceof ParSpread) {
     cs01 =
         CALCULATOR.parallelCS01FromParSpreads(
             analytic,
             quote.getCoupon(), // ParSpread
             yieldCurve,
             pillars,
             pillarSpreads,
             ONE_BPS,
             BumpType.ADDITIVE);
   } else {
     cs01 = CALCULATOR.parallelCS01(analytic, quote, yieldCurve, ONE_BPS);
   }
   return Double.valueOf(cs01 * notional * ONE_BPS);
 }