/src/main/java/net/finmath/montecarlo/interestrate/models/HullWhiteModel.java
if ( timeIndexEnd < 0) {   timeIndexEnd = ( -timeIndexEnd) - 2; }
[Delete]
} @Override public RandomVariable[] getFactorLoading(final MonteCarloProcess process, final int timeIndex, final int componentIndex, final RandomVariable[] realizationAtTimeIndex) { final double time = process.getTime(timeIndex); final double timeNext = process.getTime(timeIndex+1); int timeIndexVolatility = volatilityModel.getTimeDiscretization().getTimeIndex(time); <extra_id_0> timeIndexVolatility = -timeIndexVolatility-2; } final RandomVariable meanReversion = volatilityModel.getMeanReversion(timeIndexVolatility); final RandomVariable meanReversionTimesTime = meanReversion.mult(-2.0 * (timeNext-time)); final RandomVariable scaling = meanReversionTimesTime.exp().sub(1.0).div(meanReversionTimesTime).sqrt(); final RandomVariable volatilityEffective = scaling.mult(volatilityModel.getVolatility(timeIndexVolatility));