LockContainer<?> lockContainer = configuration.locking().useLockStriping() ?
notTransactional ? new ReentrantStripedLockContainer(configuration.locking().concurrencyLevel(),
configuration.dataContainer().keyEquivalence())
: new OwnableReentrantStripedLockContainer(configuration.locking().concurrencyLevel(),
configuration.dataContainer().keyEquivalence()) :
notTransactional ? new ReentrantPerEntryLockContainer(configuration.locking().concurrencyLevel(),
configuration.dataContainer().keyEquivalence())
: new OwnableReentrantPerEntryLockContainer(configuration.locking().concurrencyLevel(),
configuration.dataContainer().keyEquivalence());
return (T) lockContainer;
}