if (configuration.getCacheMode().isClustered() &&
configuration.isTransactionalCache() &&
configuration.getIsolationLevel() == IsolationLevel.REPEATABLE_READ &&
configuration.isWriteSkewCheck() &&
configuration.getTransactionLockingMode() == LockingMode.OPTIMISTIC) {
return (T) new IncrementalVersionableEntryFactoryImpl();
}
// a "regular" entry factory
return (T) new EntryFactoryImpl();
}