/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/EuropeanOptionWithBoundary.java
final int fromTimeIndex = model.getTimeIndex( fromTime) ;final double fromTimeNext = model.getTime( fromTimeIndex+1) ;
final double fromTimeNext = model.getTime ( fromTimeIndex+1 ) ;
values.add(getBoundaryAdjustment(evaluationTime, maturity, model, values)); return values; } public RandomVariable getBoundaryAdjustment(final double fromTime, final double toTime, final AssetModelMonteCarloSimulationModel model, final RandomVariable continuationValues) throws CalculationException { final RandomVariableFromDoubleArray values = new RandomVariableFromDoubleArray(0,0); final int fromTimeIndex = model.getTimeIndex(fromTime); <extra_id_0> if(fromTimeNext < toTime) { final RandomVariable monteCarloProbabilitiesEnd = model.getMonteCarloWeights(fromTimeNext); final RandomVariable monteCarloProbabilitiesStart = model.getMonteCarloWeights(fromTime); final RandomVariable monteCarloProbabilitiesTransition = monteCarloProbabilitiesEnd.div(monteCarloProbabilitiesStart); final double riskFreeRate = ((MonteCarloBlackScholesModel)model).getModel().getRiskFreeRate().doubleValue(); final RandomVariable remainingBoundaryAdjustment = this.getBoundaryAdjustment(fromTimeNext, toTime, model, continuationValues);