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);
            }
        }