public PersistentFiddlerSession GetSessionWithId(string id)
        {
            var repo = new MongoRepository.MongoRepository<PersistentFiddlerSession>();

            var resultSession = repo.GetById(id);

            if (null == resultSession)
            {
                throw new KeyNotFoundException(string.Format("Could not find a session id '{0}'", id));
            }

            // checked if actual data is compressed vs expected length
            //if (resultSession.Len > resultSession.Data.Length)
            //{
            //    var uncompressed = Utility.UnZip(resultSession.Data);
            //    resultSession.Data = uncompressed;
            //}

            var gridFsId = new ObjectId(resultSession.Data);

            var sessions = LoadSessionsFromGridFs(gridFsId);

            resultSession.SetSession(sessions[0]);
            return resultSession;
        }
        public PersistentFiddlerSession SaveSession(Session oSession)
        {
            var gridfsFileInfo = SaveSessionAsGridFS(oSession);
            var data = gridfsFileInfo.Id.ToString();
            var orignalLength = gridfsFileInfo.Length;

            //data = Utility.Zip(data);

            var persistentSession = new PersistentFiddlerSession(oSession)
            {
                Data = data,
                Len = orignalLength // so we know how long it should be
            };

            var repo = new MongoRepository.MongoRepository<PersistentFiddlerSession>();

            repo.Add(persistentSession);
            Log.Info(m => m("Saved session id: '{0}'", persistentSession.Id));
            return persistentSession;
        }