public void NotifyOfModification(Annotation annotation) { bool belongsInIndex = _includeIndexPredicate(annotation); if (_keyToObjectsMap.ContainsKey(_keyMakingFunction(annotation))) { if (!belongsInIndex) { _keyToObjectsMap.RemoveAllItemsWithKey(_keyMakingFunction(annotation)); } } else { if (belongsInIndex) { _keyToObjectsMap.Add(_keyMakingFunction(annotation), annotation); } } }