@Override
	public BigDecimal calculateTotal() {
		BigDecimal res = BigDecimal.valueOf(0);
		Product product;

		Map<Character,Integer> orderChars = this.getOrderChars();

		Integer pi;

		for (Character pch : orderChars.keySet()) {

			pi = orderChars.get(pch);

			if (this.products.get(pch)!=null) {
				//calc total for this product
				product = this.products.get(pch);
				res = res.add(product.calcProductTotal(pi));
			}
		}
		this.resetOders();
		return res;
	}