docs: @Override
  	public RandomVariable getNumeraire(double time) throws CalculationException {
  		if(time < 0) {
  			return randomVariableFactory.createRandomVariable(discountCurve.getDiscountFactor(curveModel, time));
  		}
  
  		RandomVariable numeraire = getNumerairetUnAdjusted(time);
  		/*
  		 * Adjust for discounting, i.e. funding or collateralization
  		 */
  		if (discountCurve != null) {
  			RandomVariable deterministicNumeraireAdjustment = getNumeraireAdjustment(time);
  
  			numeraire = numeraire.mult(numeraire.invert().getAverage()).div(deterministicNumeraireAdjustment);
  		}
  		return numeraire;
  	}