/src/main/java/net/finmath/montecarlo/interestrate/models/covariance/AbstractLIBORCovarianceModelParametric.java
final Future<RandomVariable> valueFuture = executor.submit( worker) ;final ArrayList<Future<RandomVariable>> valueFutures = new ArrayList<>( calibrationProducts.length) ;
final ArrayList<Future<RandomVariable>> valueFutures = new ArrayList<> ( calibrationProducts.length ) ;
@Override public void setValues(final RandomVariable[] parameters, final RandomVariable[] values) throws SolverException { final AbstractLIBORCovarianceModelParametric calibrationCovarianceModel = AbstractLIBORCovarianceModelParametric.this.getCloneWithModifiedParameters(parameters); final LIBORMarketModel model = calibrationModel.getCloneWithModifiedCovarianceModel(calibrationCovarianceModel); final EulerSchemeFromProcessModel process = new EulerSchemeFromProcessModel(model, brownianMotion); final LIBORMonteCarloSimulationFromLIBORModel liborMarketModelMonteCarloSimulation = new LIBORMonteCarloSimulationFromLIBORModel(model, process); <extra_id_0> for(int calibrationProductIndex=0; calibrationProductIndex<calibrationProducts.length; calibrationProductIndex++) { final int workerCalibrationProductIndex = calibrationProductIndex; final Callable<RandomVariable> worker = new Callable<RandomVariable>() { @Override public RandomVariable call() { try {