@Override
public CacheManager getObject() throws Exception {
if (this.cacheContainer instanceof EmbeddedCacheManager) {
return new SpringEmbeddedCacheManager((EmbeddedCacheManager) this.cacheContainer);
} else if (this.cacheContainer instanceof RemoteCacheManager) {
return new SpringRemoteCacheManager((RemoteCacheManager) this.cacheContainer);
} else {
throw new IllegalArgumentException("CacheContainer must be either an EmbeddedCacheManager or a RemoteCacheManager ");
}
}