/src/main/java/net/finmath/montecarlo/interestrate/products/SwaptionGeneralizedAnalyticApproximation.java
cachedSwaprateDerivativeDiscountCurve = new WeakReference<>( discountCurve) ;cachedLogSwaprateDerivativeDiscountCurve = new WeakReference<>( discountCurve) ;
cachedLogSwaprateDerivativeDiscountCurve = new WeakReference<> ( discountCurve ) ;
&& discountCurve == cachedLogSwaprateDerivativeDiscountCurve.get() && forwardCurve == cachedLogSwaprateDerivativeForwardCurve.get() ) { return cachedLogSwaprateDerivative; } cachedLogSwaprateDerivativeTimeDiscretization = new WeakReference<>(liborPeriodDiscretization); <extra_id_0> cachedLogSwaprateDerivativeForwardCurve = new WeakReference<>(forwardCurve); AnalyticModelFromCurvesAndVols model = null; if(discountCurve == null) { discountCurve = new DiscountCurveFromForwardCurve(forwardCurve.getName()); model = new AnalyticModelFromCurvesAndVols(new Curve[] { forwardCurve, discountCurve }); }