ArgumentChecker.isTrue(yieldCurveNames.length >= 1, "At least one curve required (discount, credit spread is optional)");
final String discountCurveName = yieldCurveNames[0];
final String spreadCurveName = yieldCurveNames.length > 1 ? yieldCurveNames[1] : null;
return new ISDACDSDerivative(
discountCurveName, spreadCurveName,
_premium.toDerivative(pricingDate, discountCurveName),
getTimeBetween(pricingDate, _startDate),
getTimeBetween(pricingDate, _maturity),
getTimeBetween(pricingDate, stepinDate),