code: @PostConstruct
  	protected void init() throws IOException {
  		// base configuration from XML file
  		if (null != configurationFile) {
  			log.debug("Get base configuration from {}", configurationFile);
  			manager = new DefaultCacheManager(configurationFile);
  		} else {
  			GlobalConfigurationBuilder builder = new GlobalConfigurationBuilder();
  			builder.globalJmxStatistics().allowDuplicateDomains(true);
  			manager = new DefaultCacheManager(builder.build());
  		}
  
  		if (listener == null) {
  			listener = new InfinispanCacheListener();
  		}
  		manager.addListener(listener);
  
  		// cache for caching the cache configurations (hmmm, sounds a bit strange)
  		Map<String, Map<CacheCategory, CacheService>> cacheCache = 
  				new HashMap<String, Map<CacheCategory, CacheService>>();
  
  		// build default configuration
  		if (null != defaultConfiguration) {
  			setCaches(cacheCache, null, defaultConfiguration);
  		}
  
  		// build layer specific configurations
  		for (Layer layer : layerMap.values()) {
  			CacheInfo ci = configurationService.getLayerExtraInfo(layer.getLayerInfo(), CacheInfo.class);
  			if (null != ci) {
  				setCaches(cacheCache, layer, ci);
  			}
  		}
  	}
docs: Finish initializing service.
  
  @throws IOException oop