docs: @Override
  	public RandomVariable getValue(double evaluationTime, AssetModelMonteCarloSimulationModel model) throws CalculationException {
  		if(exerciseMethod == ExerciseMethod.UPPER_BOUND_METHOD) {
  			// Find optimal lambda
  			GoldenSectionSearch optimizer = new GoldenSectionSearch(-1.0, 1.0);
  			while(!optimizer.isDone()) {
  				double lambda = optimizer.getNextPoint();
  				double value = this.getValues(evaluationTime, model, lambda).getAverage();
  				optimizer.setValue(value);
  			}
  			return getValues(evaluationTime, model, optimizer.getBestPoint());
  		}
  		else {
  			return getValues(evaluationTime, model, 0.0);
  		}
  	}