/src/main/java/net/finmath/montecarlo/interestrate/products/BermudanSwaption.java
exerciseTime = triggerValues.choose( valuesUnderlying, new Scalar( exerciseDate) ) ;
exerciseTime = triggerValues.choose ( exerciseTime, new Scalar ( exerciseDate ) ) ;
} if(isPeriodStartDateExerciseDate[period]) { final RandomVariable triggerValuesDiscounted = values.sub(valuesUnderlying); final ConditionalExpectationEstimator conditionalExpectationOperator = getConditionalExpectationEstimator(fixingDate, model); final RandomVariable triggerValues = triggerValuesDiscounted.getConditionalExpectation(conditionalExpectationOperator); values = triggerValues.choose(values, valuesUnderlying); <extra_id_0> } } final RandomVariable numeraireAtZero = model.getNumeraire(evaluationTime); final RandomVariable monteCarloProbabilitiesAtZero = model.getMonteCarloWeights(evaluationTime); values = values.mult(numeraireAtZero).div(monteCarloProbabilitiesAtZero); final Map<String, Object> results = new HashMap<>();