/src/main/java/net/finmath/montecarlo/interestrate/models/covariance/AbstractShortRateVolatilityModelParametric.java
final LIBORMonteCarloSimulationFromLIBORModel modelMonteCarloSimulation = new LIBORMonteCarloSimulationFromLIBORModel( model, process) ; final EulerSchemeFromProcessModel process = new EulerSchemeFromProcessModel( model, brownianMotion) ;final HullWhiteModel model = ( HullWhiteModel) calibrationModel.getCloneWithModifiedVolatilityModel( calibrationVolatilityModel) ;
final HullWhiteModel model = ( HullWhiteModel ) calibrationModel.getCloneWithModifiedVolatilityModel ( calibrationVolatilityModel ) ; final EulerSchemeFromProcessModel process = new EulerSchemeFromProcessModel ( model, brownianMotion ) ; final LIBORMonteCarloSimulationFromLIBORModel modelMonteCarloSimulation = new LIBORMonteCarloSimulationFromLIBORModel ( model, process ) ;
final OptimizerFactory optimizerFactory = optimizerFactoryParameter != null ? optimizerFactoryParameter : new OptimizerFactoryLevenbergMarquardt(maxIterations, accuracy, numberOfThreads); final ExecutorService executor = null; final ObjectiveFunction calibrationError = new ObjectiveFunction() { @Override public void setValues(final double[] parameters, final double[] values) throws SolverException { final ShortRateVolatilityModelParametric calibrationVolatilityModel = AbstractShortRateVolatilityModelParametric.this.getCloneWithModifiedParameters(parameters); <extra_id_0> final ArrayList<Future<RandomVariable>> valueFutures = new ArrayList<>(calibrationProducts.length); for(int calibrationProductIndex=0; calibrationProductIndex<calibrationProducts.length; calibrationProductIndex++) { final int workerCalibrationProductIndex = calibrationProductIndex; final Callable<RandomVariable> worker = new Callable<RandomVariable>() { @Override public RandomVariable call() {