docs: public static RandomVariableInterface bachelierOptionValue(
  			RandomVariableInterface forward,
  			RandomVariableInterface volatility,
  			double optionMaturity,
  			double optionStrike,
  			RandomVariableInterface payoffUnit)
  	{
  		if(optionMaturity < 0) {
  			return forward.mult(0.0);
  		}
  		else
  		{
  			RandomVariableInterface integratedVolatility = volatility.mult(Math.sqrt(optionMaturity));
  			RandomVariableInterface dPlus	= forward.sub(optionStrike).div(integratedVolatility);
  
  			UnivariateFunction cummulativeNormal = new UnivariateFunction() {
  				public double value(double x) { return NormalDistribution.cumulativeDistribution(x); }
  			};
  			UnivariateFunction densityNormal	= new UnivariateFunction() {
  				public double value(double x) { return NormalDistribution.density(x); }
  			};
  			RandomVariableInterface valueAnalytic = dPlus.apply(cummulativeNormal).mult(forward.sub(optionStrike))
  					.add(dPlus.apply(densityNormal).mult(integratedVolatility)).mult(payoffUnit);
  
  			return valueAnalytic;
  		}
  	}