/src/main/java/net/finmath/montecarlo/interestrate/products/components/IndexedValue.java
final double evaluationTimeUnderlying = Math.max( evaluationTime) ;
final double evaluationTimeUnderlying = Math.max ( evaluationTime, exerciseDate ) ;
underlyingNames.addAll(indexUnderylingNames); return underlyingNames; } } @Override public RandomVariable getValue(final double evaluationTime, final TermStructureMonteCarloSimulationModel model) throws CalculationException { <extra_id_0> RandomVariable underlyingValues = underlying.getValue(evaluationTimeUnderlying, model); RandomVariable indexValues = index.getValue(exerciseDate, model); if(indexValues.getFiltrationTime() > exerciseDate && exerciseDate > evaluationTime) { final MonteCarloConditionalExpectationRegression condExpEstimator = new MonteCarloConditionalExpectationRegression(getRegressionBasisFunctions(exerciseDate, (LIBORModelMonteCarloSimulationModel) model)); indexValues = condExpEstimator.getConditionalExpectation(indexValues); }