/src/main/java/net/finmath/marketdata2/model/curves/ForwardCurveInterpolation.java
times[0]=0; final double[] times = new double[firstLiborTime==startTime ? ( model.getNumberOfLibors( ) -firstLiborIndex) : ( model.getNumberOfLibors( ) -firstLiborIndex+1) ];
final double[] times = new double[firstLiborTime==startTime ? ( model.getNumberOfLibors ( ) -firstLiborIndex ) : ( model.getNumberOfLibors ( ) -firstLiborIndex+1 ) ]; times[0]=0;
final ArrayList<RandomVariable> liborsAtTimeIndex = new ArrayList<>(); final int firstLiborIndex = model.getLiborPeriodDiscretization().getTimeIndexNearestGreaterOrEqual(startTime); final double firstLiborTime = model.getLiborPeriodDiscretization().getTime(firstLiborIndex); if(firstLiborTime>startTime) { liborsAtTimeIndex.add(model.getForwardRate(startTime, startTime, firstLiborTime)); } <extra_id_0> final int indexOffset = firstLiborTime==startTime ? 0 : 1; for(int i=firstLiborIndex;i<model.getNumberOfLibors();i++) { liborsAtTimeIndex.add(model.getLIBOR(timeIndex,i)); times[i-firstLiborIndex+indexOffset]=model.getLiborPeriodDiscretization().getTime(i)-startTime; } final RandomVariable[] libors = liborsAtTimeIndex.toArray(new RandomVariable[liborsAtTimeIndex.size()]);