code: @Override
  	public RandomVariable addProduct(RandomVariable factor1, RandomVariable factor2) {
  		return apply(new DoubleBinaryOperator() {
  			@Override
  			public double applyAsDouble(double x, double y) {
  				return x + y;
  			}
  		}, new DoubleBinaryOperator() {
  			@Override
  			public double applyAsDouble(double x, double y) {
  				return x * y;
  			}
  		}, factor1, factor2);
  	}
docs: /* (non-Javadoc)
  @see net.finmath.stochastic.RandomVariable#addProduct(net.finmath.stochastic.RandomVariable, net.finmath.stochastic.RandomVariable)