public BigDecimal calcProductTotal (int productQuantity) {
		BigDecimal res = BigDecimal.valueOf(0);

		int i = productQuantity;

		int currentProductPackCapacity;

		while (i > 0) {

			currentProductPackCapacity = this.calcBiggestFeasible(
				i,
				prices.keySet());

			//increment product-total

			res = res.add(prices.get(currentProductPackCapacity));

			//decrement work product quantity
			i = i - currentProductPackCapacity;
		}

		res = res.setScale(2,BigDecimal.ROUND_HALF_DOWN);
		return res;
	}