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