private void RemoveDuplicates <T, TKey>(IReactiveList <T> list, Func <T, TKey> keySelector) { var distinct = list.Distinct(keySelector).ToList(); if (distinct.Count != list.Count) { list.Clear(); list.AddRange(distinct); } }