public void UpdateIncludes([NotNull] FileSystemPath includer, [NotNull] ICollection <FileSystemPath> includees) { lock (_locker) { foreach (FileSystemPath includee in _includerToIncludees[includer]) { _includeeToIncluders.Remove(includee, includer); } _includerToIncludees.RemoveKey(includer); if (includees.Count > 0) { _includerToIncludees.AddRangeFast(includer, includees); foreach (FileSystemPath includee in includees) { _includeeToIncluders.Add(includee, includer); } } } }