public static IDisposable Follow <T>(this ICollection <T> collection, INotifyCollectionChanged followCollection)
        {
            CompositeDisposable disposable = new CompositeDisposable();

            disposable.Add(followCollection.AddedItems <T>().Subscribe(i => collection.Add(i)));
            disposable.Add(followCollection.RemovedItems <T>().Subscribe(i => collection.Remove(i)));
            disposable.Add(followCollection.Cleared().Subscribe(i => collection.Clear()));
            return(disposable);
        }