if (getConfiguration().getBoolean(LOGGING_PROPERTY, false)) {
final String level = getConfiguration().getString(LOGGING_PROPERTY + ".level", "debug");
objectStore = new IsisObjectStoreLogger(objectStore, level);
}
final PersistenceSession persistenceSession =
new PersistenceSession(persistenceSessionFactory, adapterFactory, objectFactory, servicesInjector, identifierGenerator, adapterManager, persistAlgorithm, objectStore);
final IsisTransactionManager transactionManager = createTransactionManager(persistenceSession, objectStore, servicesInjector);
ensureThatArg(persistenceSession, is(not(nullValue())));
ensureThatArg(transactionManager, is(not(nullValue())));
persistenceSession.setDirtiableSupport(true);
persistenceSession.setTransactionManager(transactionManager);
return persistenceSession;
}