final IndexPrice priceIndex, final int conventionalmonthLag, final int monthLag, final ZonedDateTime lastKnownFixingDate, final double strike, final boolean isCap) {
final ZonedDateTime refInterpolatedDateStart = accrualStartDate;
final ZonedDateTime refInterpolatedDateEnd = paymentDate;
final double weightStart = 1.0 - (refInterpolatedDateStart.getDayOfMonth() - 1.0) / refInterpolatedDateStart.toLocalDate().lengthOfMonth();
final double weightEnd = 1.0 - (refInterpolatedDateEnd.getDayOfMonth() - 1.0) / refInterpolatedDateEnd.toLocalDate().lengthOfMonth();
return from(accrualStartDate, paymentDate, notional, priceIndex, lastKnownFixingDate, conventionalmonthLag, monthLag, weightStart, weightEnd, strike, isCap);
}
/**