@Override
public IsisSession openSession(final AuthenticationSession authenticationSession) {
final PersistenceSession persistenceSession = persistenceSessionFactory.createPersistenceSession();
ensureThatArg(persistenceSession, is(not(nullValue())));
final UserProfile userProfile = userProfileLoader.getProfile(authenticationSession);
ensureThatArg(userProfile, is(not(nullValue())));
// inject into persistenceSession any/all application-scoped components
// that it requires
getSpecificationLoader().injectInto(persistenceSession);