/src/main/java/net/finmath/montecarlo/hybridassetinterestrate/products/WorstOfExpressCertificate.java
exerciseIndicator = trigger.choose( exerciseIndicator, zero) ;
exerciseIndicator = trigger.choose ( zero, exerciseIndicator ) ;
for(int triggerIndex=0; triggerIndex<exerciseDates.length; triggerIndex++) { final RandomVariable worstPerformance = getWorstPerformance(model, exerciseDates[triggerIndex], strikeLevels); final RandomVariable trigger = worstPerformance.sub(triggerPerformanceLevel[triggerIndex]); RandomVariable payment = exerciseIndicator.mult(redemption[triggerIndex]); payment = payment.div(model.getNumeraire(exerciseDates[triggerIndex])); values = values.add(trigger.choose(payment, new Scalar(0.0))); <extra_id_0> } final RandomVariable worstPerformance = getWorstPerformance(model, maturity, strikeLevels); RandomVariable payment = exerciseIndicator.mult(worstPerformance.mult(redemptionFinal)); payment = payment.div(model.getNumeraire(maturity)); values = values.add(payment); values = values.mult(model.getNumeraire(evaluationTime));