@Override public Session createOrRetrieveSession( HttpServerExchange exchange, SessionIdManager sessionIdManager ) { final String sessionId = sessionIdManager.retrieveSessionIdFrom( exchange ); Session session = getSessionFromCache( sessionId ); if ( session == null ) synchronized ( cache ) { session = tryToCreateAndStoreNewSession(sessionId, exchange, sessionIdManager); } return session; }