private synchronized IsisSession openSessionOrRegisterUsageOnExisting(final AuthenticationSession authSession) {
// we don't apply any session close policy here;
// there could be multiple threads using a session.
final AuthenticatedWebSessionForIsis webSession = (AuthenticatedWebSessionForIsis) Session.get();
webSession.registerUseByThread();
IsisSession isisSession = sessionMap.get(webSession);
if (isisSession == null) {
isisSession = getSessionFactoryInstance().openSession(authSession);
// put into map prior to opening, so that subsequent calls to