/src/main/java/net/finmath/montecarlo/interestrate/products/Swaption.java
final double discountingDate = Math.max( fixingDate,swaprate) ;
final double discountingDate = Math.max ( fixingDate,exerciseDate ) ;
if(paymentDate <= evaluationTime) { break; } final double periodLength = periodLengths != null ? periodLengths[period] : paymentDate - fixingDate; final RandomVariable libor = model.getForwardRate(exerciseDate, fixingDate, paymentDate); final RandomVariable payoff = libor.sub(swaprate).mult(periodLength).mult(notional); <extra_id_0> double discountingAdjustment = 1.0; if(model.getModel() != null && model.getModel().getDiscountCurve() != null) { final AnalyticModel analyticModel = model.getModel().getAnalyticModel(); final DiscountCurve discountCurve = model.getModel().getDiscountCurve(); final ForwardCurve forwardCurve = model.getModel().getForwardRateCurve(); final DiscountCurve discountCurveFromForwardCurve = new DiscountCurveFromForwardCurve(forwardCurve);