public ISession Create(string sessionKey, TimeSpan idleTimeout,
                               TimeSpan ioTimeout, Func <bool> tryEstablishSession,
                               bool isNewSessionKey)
        {
            ISession session = innerStore.Create(sessionKey, idleTimeout, ioTimeout,
                                                 tryEstablishSession, isNewSessionKey);

            if (isNewSessionKey)
            {
                startSession.StartSession(session);
            }
            return(session);
        }
    public ISession Create(string sessionKey, TimeSpan idleTimeout,
                           TimeSpan ioTimeout, Func <bool> tryEstablishSession,
                           bool isNewSessionKey)
    {
        ISession session = innerStore.Create(sessionKey, idleTimeout, ioTimeout,
                                             tryEstablishSession, isNewSessionKey);

        if (isNewSessionKey)
        {
            logger.LogInformation("New session key {0}", sessionKey);
            startSession.StartSession(session);
        }
        return(session);
    }