internal override bool TryRetrieve(string key, out RequestCacheEntry cacheEntry, out Stream readStream)
 {
     if (key == null)
     {
         throw new ArgumentNullException("key");
     }
     FrozenCacheEntry clonedObject = this._Entry;
     cacheEntry = null;
     readStream = null;
     if ((clonedObject == null) || (clonedObject.Key != key))
     {
         Stream stream;
         RequestCacheEntry entry2;
         if (!this._UseWinInet || !base.TryRetrieve(key, out entry2, out stream))
         {
             return false;
         }
         clonedObject = new FrozenCacheEntry(key, entry2, stream);
         stream.Close();
         this._Entry = clonedObject;
     }
     cacheEntry = FrozenCacheEntry.Create(clonedObject);
     readStream = new ReadOnlyStream(clonedObject.StreamBytes);
     return true;
 }
        internal override bool TryRetrieve(string key, out RequestCacheEntry cacheEntry, out Stream readStream)
        {
            if (key == null)
                throw new ArgumentNullException("key");

            FrozenCacheEntry chkEntry = _Entry;
            cacheEntry = null;
            readStream = null;

            if (chkEntry == null || chkEntry.Key != key)
            {
                return false;
            }
            cacheEntry = FrozenCacheEntry.Create(chkEntry);
            readStream = new ReadOnlyStream(chkEntry.StreamBytes);
            return true;
        }