public new CacheItem AddOrGetExisting(CacheItem item, CacheItemPolicy policy)
 {
     return(base.AddOrGetExisting(item.DeepCopy(), policy));
 }
        //we must run deepcopy when adding, otherwise items can be changed after the add() but before the get()

        public new bool Add(CacheItem item, CacheItemPolicy policy)
        {
            return(base.Add(item.DeepCopy(), policy));
        }