@Override
public <T extends OutgoingDistributableSessionData> org.jboss.web.tomcat.service.session.distributedcache.spi.DistributedCacheManager<T> getDistributedCacheManager(LocalDistributableSessionManager manager)
{
Cache<String, Map<Object, Object>> sessionCache = this.sessionCacheSource.getCache(manager);
SharedLocalYieldingClusterLockManager lockManager = this.lockManagerSource.getLockManager(sessionCache);
TransactionManager tm = sessionCache.getAdvancedCache().getTransactionManager();
if (!(tm instanceof BatchModeTransactionManager))
{
throw new IllegalStateException("Unexpected transaction manager type: " + ((tm != null) ? tm.getClass().getName() : "null"));