// servicesInjector.setSpecificationLookup(sessionFactory.getSpecificationLoader());
// servicesInjector.setServices(services);
// servicesInjector.init();
// validate
final ServiceInitializer serviceInitializer = new ServiceInitializer();
serviceInitializer.validate(getConfiguration(), services);
// call @PostConstruct (in a session)
IsisContext.openSession(new InitialisationSession());
try {
getTransactionManager().startTransaction();
try {
serviceInitializer.postConstruct();
return serviceInitializer;
} catch(RuntimeException ex) {
getTransactionManager().getTransaction().setAbortCause(new IsisTransactionManagerException(ex));
return serviceInitializer;