: new OwnableReentrantStripedLockContainer(configuration.locking().concurrencyLevel()) :
notTransactional ? new ReentrantPerEntryLockContainer(configuration.locking().concurrencyLevel())
: new OwnableReentrantPerEntryLockContainer(configuration.locking().concurrencyLevel());
return (T) lockContainer;
} else if (componentType.equals(L1Manager.class)) {
return (T) new L1ManagerImpl();
} else if (componentType.equals(TransactionFactory.class)) {
return (T) new TransactionFactory();
} else if (componentType.equals(BackupSender.class)) {
if (globalConfiguration.sites() == null || globalConfiguration.sites().localSite() == null) {
throw new ConfigurationException("Local site must be defined in the global configuration when using cross site replication.");