// Get the underlying CDS in the swaption contract (don't really need to do this if we fix the LegacyVanilla issue above)
final CreditDefaultSwapDefinition underlyingCDS = cdsSwaption.getUnderlyingCDS();
CreditDefaultSwapDefinition shortCDS = cdsSwaption.getUnderlyingCDS();
shortCDS = shortCDS.withStartDate(cdsSwaption.getStartDate());
shortCDS = shortCDS.withEffectiveDate(cdsSwaption.getStartDate().plusDays(1));
shortCDS = shortCDS.withMaturityDate(cdsSwaption.getOptionExerciseDate());
// Generate the cashflow schedule for the (forward) premium leg
final ZonedDateTime[] underlyingCDSPremiumLegSchedule = PREMIUM_LEG_SCHEDULE_CALCULATOR.constructCreditDefaultSwapPremiumLegSchedule(underlyingCDS);