+ [removed removeObject:path];
+
+ if (cached != nil) {
+ NSMutableDictionary *merged([before objectForKey:identifier]);
+ if (merged == nil)
+ merged = [NSMutableDictionary dictionary];
+ else
+ merged = [[merged mutableCopy] autorelease];
+
+ for (NSString *key in cached)
+ if (NSObject *value = [info objectForKey:key])
+ [merged setObject:value forKey:key];
+ else
+ [merged removeObjectForKey:key];
+
+ info = merged;
+ }
+