Source:
<K, V> Ehcache<K, V> createNewEhcache(final String alias, final CacheConfiguration<K, V> config, final Class<K> keyType, final Class<V> valueType, final ClassLoader cacheClassLoader) { final Store.Provider storeProvider = serviceLocator.findService(Store.Provider.class); final CacheLoaderFactory cacheLoaderFactory = serviceLocator.findService(CacheLoaderFactory.class); CacheLoader<? super K, ? extends V> loader = null; if(cacheLoaderFactory != null) { loader = cacheLoaderFactory.createCacheLoader(alias, config); } final CacheWriterFactory cacheWriterFactory = serviceLocator.findService(CacheWriterFactory.class); CacheWriter<? super K, ? super V> writer = null; if (cacheWriterFactory != null) { writer = cacheWriterFactory.createCacheWriter(alias, config); } SerializationProvider serializationProvider = config.getSerializationProvider(); if (serializationProvider == null) { serializationProvider = serviceLocator.findService(SerializationProvider.class); } ServiceConfiguration[] serviceConfigs = config.getServiceConfigurations().toArray(new ServiceConfiguration[config.getServiceConfigurations().size()]); CacheConfiguration<K, V> adjustedConfig = new BaseCacheConfiguration<K, V>( keyType, valueType, config.getCapacityConstraint(), config.getEvictionVeto(), config.getEvictionPrioritizer(), cacheClassLoader, config.getExpiry(), serializationProvider, config.getServiceConfigurations().toArray(new ServiceConfiguration<?>[config.getServiceConfigurations().size()]) ); Store<K, V> store = storeProvider.createStore(new StoreConfigurationImpl<K, V>(adjustedConfig), serviceConfigs); return new Ehcache<K, V>(adjustedConfig, store, loader, writer); }

Target:
<K, V> Ehcache<K, V> createNewEhcache(final String alias, final CacheConfiguration<K, V> config, final Class<K> keyType, final Class<V> valueType, final ClassLoader cacheClassLoader) { final Store.Provider storeProvider = serviceLocator.findService(Store.Provider.class); final CacheLoaderFactory cacheLoaderFactory = serviceLocator.findService(CacheLoaderFactory.class); CacheLoader<? super K, ? extends V> loader = null; if(cacheLoaderFactory != null) { loader = cacheLoaderFactory.createCacheLoader(alias, config); } final CacheWriterFactory cacheWriterFactory = serviceLocator.findService(CacheWriterFactory.class); CacheWriter<? super K, ? super V> writer = null; if (cacheWriterFactory != null) { writer = cacheWriterFactory.createCacheWriter(alias, config); } SerializationProvider serializationProvider = config.getSerializationProvider(); if (serializationProvider == null) { serializationProvider = serviceLocator.findService(SerializationProvider.class); } ServiceConfiguration[] serviceConfigs = config.getServiceConfigurations().toArray(new ServiceConfiguration[config.getServiceConfigurations().size()]); CacheConfiguration<K, V> adjustedConfig = new BaseCacheConfiguration<K, V>( keyType, valueType, config.getCapacityConstraint(), config.getEvictionVeto(), config.getEvictionPrioritizer(), cacheClassLoader, config.getExpiry(), serializationProvider, serviceConfigs ); Store<K, V> store = storeProvider.createStore(new StoreConfigurationImpl<K, V>(adjustedConfig), serviceConfigs); return new Ehcache<K, V>(adjustedConfig, store, loader, writer, statisticsExecutor); }