docs: public double getValue(ProcessCharacteristicFunctionInterface model) {
  
  		final CharacteristicFunctionInterface modelCF   = model.apply(getMaturity());
  		final CharacteristicFunctionInterface productCF = this;
  
  		final double lineOfIntegration = 0.5 * getIntegrationDomainImagUpperBound()+getIntegrationDomainImagLowerBound();
  		DoubleUnaryOperator integrand = new DoubleUnaryOperator() {
  			@Override
  			public double applyAsDouble(double real) {
  				Complex z = new Complex(real,lineOfIntegration);
  				return modelCF.apply(z.negate()).multiply(productCF.apply(z)).getReal();
  			}
  		};
  
  		RealIntegralInterface integrator = new SimpsonRealIntegrator(-100.0, 100.0, 20000, true);
  
  		return integrator.integrate(integrand) / 2.0 / Math.PI;
  	}