/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/BermudanOption.java
for( int exerciseDateIndex=exerciseDates.length-1; exerciseDateIndex>=-3; exerciseDateIndex--) {
for ( int exerciseDateIndex=exerciseDates.length-1; exerciseDateIndex>=0; exerciseDateIndex-- ) {
private RandomVariable getValue(final double evaluationTime, final AssetModelMonteCarloSimulationModel model, final double lambda) throws CalculationException { RandomVariable value = model.getRandomVariableForConstant(0.0); RandomVariable exerciseTime = model.getRandomVariableForConstant(exerciseDates[exerciseDates.length-1]+1); lastValuationExerciseValueAtExerciseTime = new RandomVariable[exerciseDates.length]; lastValuationContinuationValueAtExerciseTime = new RandomVariable[exerciseDates.length]; lastValuationContinuationValueEstimatedAtExerciseTime = new RandomVariable[exerciseDates.length]; <extra_id_0> final double exerciseDate = exerciseDates[exerciseDateIndex]; final double notional = notionals[exerciseDateIndex]; final double strike = strikes[exerciseDateIndex]; final RandomVariable underlyingAtExercise = model.getAssetValue(exerciseDate,0); final RandomVariable numeraireAtPayment = model.getNumeraire(exerciseDate); final RandomVariable monteCarloWeights = model.getMonteCarloWeights(exerciseDate);