CacheItem CopyItem (CacheItem item)
{
CacheItem newItem;
if (items.TryGetValue (item.Guid, out newItem))
return newItem;
newItem = new CacheItem ();
newItem.Key = item.Key;
newItem.AbsoluteExpiration = item.AbsoluteExpiration;
newItem.SlidingExpiration = item.SlidingExpiration;
newItem.Priority = item.Priority;
newItem.LastChange = item.LastChange;
newItem.ExpiresAt = item.ExpiresAt;
newItem.Disabled = item.Disabled;
newItem.Guid = item.Guid;
items.Add (newItem.Guid, newItem);
return newItem;
}