docs: @Override
  	public RandomVariableInterface getValue(double evaluationTime, LIBORModelMonteCarloSimulationInterface model) throws CalculationException {
  
  		if(inceptionTime > evaluationTime) {
  			return new RandomVariable(0.0);
  		}
  		if(accrualPeriod <= 0) {
  			return new RandomVariable(Double.MAX_VALUE);
  		}
  
  		// Initialize the value of the account to 1.0
  		RandomVariableInterface value = new RandomVariable(initialValue);
  
  		// Loop over accrual periods
  		for(double time=inceptionTime; time<evaluationTime; time += accrualPeriod) {
  			// Get the forward fixed at the beginning of the period
  			RandomVariableInterface	forwardRate				= model.getLIBOR(time, time, time+accrualPeriod);
  			double					currentAccrualPeriod	= Math.min(accrualPeriod , evaluationTime-time);
  
  			// Accrue the value using the current forward rate
  			value = value.accrue(forwardRate, currentAccrualPeriod);
  		}
  
  		return value;
  	}