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