/src/main/java/net/finmath/montecarlo/interestrate/models/covariance/LIBORVolatilityModelPiecewiseConstant.java
this.volatility[i] = randomVariableFactory.createRandomVariable( volatility[i]) ;this.randomVariableFactory = randomVariableFactory;
this.randomVariableFactory = randomVariableFactory;
this.simulationTimeDiscretization = simulationTimeDiscretization; this.timeToMaturityDiscretization = timeToMaturityDiscretization; this.isCalibrateable = isCalibrateable; } public LIBORVolatilityModelPiecewiseConstant(final RandomVariableFactory randomVariableFactory, final TimeDiscretization timeDiscretization, final TimeDiscretization liborPeriodDiscretization, final TimeDiscretization simulationTimeDiscretization, final TimeDiscretization timeToMaturityDiscretization, final double[][] volatility, final boolean isCalibrateable) { super(timeDiscretization, liborPeriodDiscretization); <extra_id_0> final double maxMaturity = liborPeriodDiscretization.getTime(liborPeriodDiscretization.getNumberOfTimes()-1); int volatilityIndex = 0; for(int simulationTime=0; simulationTime<simulationTimeDiscretization.getNumberOfTimes(); simulationTime++) { final Map<Integer, Integer> timeToMaturityIndexing = new ConcurrentHashMap<>(); for(int timeToMaturity=0; timeToMaturity<timeToMaturityDiscretization.getNumberOfTimes(); timeToMaturity++) { if(simulationTimeDiscretization.getTime(simulationTime)+timeToMaturityDiscretization.getTime(timeToMaturity) > maxMaturity) {