public void Subsribe(FullyObservableCollection <T> subsriber) { if (subsriber == null) { return; } lock (locker) { if (!subsribers.Contains(subsriber)) { subsribers.Add(subsriber); foreach (var d in data.Values) { if (!subsriber.Any(a => KeySelector(a) == KeySelector(d))) { subsriber.Add(d); } } } } }