try {
serviceInitializer.postConstruct();
return serviceInitializer;
} catch(RuntimeException ex) {
IsisContext.getTransactionManager().getTransaction().setAbortCause(new IsisTransactionManagerException(ex));
return serviceInitializer;
} finally {
// will commit or abort
IsisContext.getTransactionManager().endTransaction();
}