private void cacheMarket(IMarket market) { String marketKey = computeMarketKey(market); cache(marketKey, market); List<? extends ICategory> categories = market.getCategory(); for (ICategory category : categories) { cacheCategory(category); } }