@Override
public CacheControllerDispatcher get() {
final Map<CacheType, CacheController<Object, Object>> cacheControllers = new LinkedHashMap<CacheType, CacheController<Object, Object>>();
for (final String cacheName : cacheManager.getCacheNames()) {
final CacheType cacheType = CacheType.findByName(cacheName);
final Collection<EhCacheBasedCacheController<Object, Object>> cacheControllersForCacheName = getCacheControllersForCacheName(cacheName);
if (cacheControllersForCacheName.size() > 0) {
final EhCacheBasedCacheController<Object, Object> ehCacheBasedCacheController = cacheControllersForCacheName.iterator().next();
cacheControllers.put(cacheType, ehCacheBasedCacheController);
}
}
return new CacheControllerDispatcher(cacheControllers);
}