internal void MonitorDependencyChanges() { // need to protect against the item being closed CacheDependency dependency = _dependency; if (dependency != null && State == EntryState.AddedToCache) { if (!dependency.TakeOwnership()) { throw new InvalidOperationException( SR.GetString(SR.Cache_dependency_used_more_that_once)); } dependency.SetCacheDependencyChanged((Object sender, EventArgs args) => { DependencyChanged(sender, args); }); } }