docs: private RandomVariable getA(double time, double maturity) {
  		int timeIndex = getProcess().getTimeIndex(time);
  		double timeStep = getProcess().getTimeDiscretization().getTimeStep(timeIndex);
  
  		RandomVariable zeroRate = getZeroRateFromForwardCurve(time); //getDiscountFactorFromForwardCurve(time).div(getDiscountFactorFromForwardCurve(timeNext)).log().div(timeNext-time);
  
  		RandomVariable forwardBond = getDiscountFactorFromForwardCurve(maturity).div(getDiscountFactorFromForwardCurve(time)).log();
  
  		RandomVariable B = getB(time,maturity);
  
  		RandomVariable lnA = B.mult(zeroRate).sub(B.squared().mult(getShortRateConditionalVariance(0,time).div(2))).add(forwardBond);
  
  		return lnA.exp();
  	}