/// <inheritdoc />
        public IReadOnlyCollection <ISession <TSessionState, TOperationState> > GetSessions()
        {
            var sessions =
                SessionStorage
                .GetKeys()
                .Select(GetSession)
                .Where(session => session != null)
                .Cast <ISession <TSessionState, TOperationState> >()
                .ToArray();

            return(sessions);
        }