referenceStartTime[1] = TimeCalculator.getTimeBetween(date, getReferenceStartDate()[1]);
final ZonedDateTime naturalPaymentEndDate = getPaymentDate().minusMonths(_monthLag - _conventionalMonthLag);
final double naturalPaymentEndTime = TimeCalculator.getTimeBetween(date, naturalPaymentEndDate);
final ZonedDateTime naturalPaymentstartDate = naturalPaymentEndDate.minusMonths(12);
final double naturalPaymentStartTime = TimeCalculator.getTimeBetween(date, naturalPaymentstartDate);
return new CouponInflationYearOnYearInterpolationWithMargin(_factor, getCurrency(), paymentTime, getPaymentYearFraction(), getNotional(), getPriceIndex(), referenceStartTime,
naturalPaymentStartTime,
referenceEndTime, naturalPaymentEndTime, _payNotional, _weightStart, _weightEnd);
}