code: @Override
  	public RandomVariableInterface getValue(double evaluationTime, LIBORModelMonteCarloSimulationInterface model) throws CalculationException {
  		RandomVariableInterface values = new RandomVariable(0.0);
  
  		for(int productIndex = 0; productIndex < products.length; productIndex++) {
  			RandomVariableInterface    valueOfProduct = products[productIndex].getValue(evaluationTime, model);
  			double   				   weightOfProduct = weights[productIndex];
  
  			values = values.addProduct(valueOfProduct, weightOfProduct);
  		}
  		return values;
  	}
docs: This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.
  Note: For a lattice this is often the value conditional to evalutationTime, for a Monte-Carlo simulation this is the (sum of) value discounted to evaluation time.
  Cashflows prior evaluationTime are not considered.
  
  @TODO The conversion between different currencies is currently not performed.
  @param evaluationTime The time on which this products value should be observed.
  @param model The model used to price the product.
  @return The random variable representing the value of the product discounted to evaluation time
  @throws net.finmath.exception.CalculationException Thrown if the valuation fails, specific cause may be available via the <code>cause()</code> method.