docs: private RandomVariableInterface getDrift(int timeIndex, int componentIndex, RandomVariableInterface[] realizationAtTimeIndex, RandomVariableInterface[] realizationPredictor) {
  
  		// Check if this LIBOR is already fixed
  		if(getTime(timeIndex) >= this.getLiborPeriod(componentIndex)) {
  			return null;
  		}
  
  		/*
  		 * We implemented several different methods to calculate the drift
  		 */
  		if(driftApproximationMethod == Driftapproximation.PREDICTOR_CORRECTOR && realizationPredictor != null) {
  			RandomVariableInterface drift					= getDriftEuler(timeIndex, componentIndex, realizationAtTimeIndex);
  			RandomVariableInterface driftEulerWithPredictor	= getDriftEuler(timeIndex, componentIndex, realizationPredictor);
  			drift = drift.add(driftEulerWithPredictor).div(2.0);
  
  			return drift;
  		}
  		else if(driftApproximationMethod == Driftapproximation.LINE_INTEGRAL && realizationPredictor != null) {
  			return getDriftLineIntegral(timeIndex, componentIndex, realizationAtTimeIndex, realizationPredictor);
  		}
  		else {
  			return getDriftEuler(timeIndex, componentIndex, realizationAtTimeIndex);
  		}
  	}