static public BigDecimal calculateMultiItemPrice(Class<? extends Item> genericItem) {
        BigDecimal price = BigDecimal.ZERO;

        Item item = getItem(genericItem);

        if (item.isMultiItem()) {
            Map<Class<? extends Item>, BigDecimal> prices = new HashMap<Class<? extends Item>, BigDecimal>();

            for (Class<? extends Item> genericResource : item.getActualItems()) {
                prices.put(genericResource, calculateItemPrice(genericResource));
            }

            price = price.add(prices.get(getCheapest(prices)));
        }

        return price;
    }