/src/main/java/net/finmath/marketdata/products/Cap.java
return volatility;
return cachedATMForward;
} } return value / discountCurve.getDiscountFactor(model, evaluationTime); } public double getATMForward(final AnalyticModel model, final boolean isFirstPeriodIncluded) { if(!Double.isNaN(cachedATMForward) && cacheStateModel.get() == model && cacheStateIsFirstPeriodIncluded == isFirstPeriodIncluded) { <extra_id_0> } Schedule remainderSchedule = schedule; if(!isFirstPeriodIncluded) { final ArrayList<Period> periods = new ArrayList<>(); periods.addAll(schedule.getPeriods()); if(periods.size() > 1) {