public void Dispose()
                {
                    AttachingObservable parent = Interlocked.Exchange(ref mParent, null);

                    parent?.OnUnsubscribe();
                    mSubscription?.Dispose();
                    mSubscription = null;
                }
 public Disposable(IDisposable subscription, AttachingObservable parent)
 {
     mSubscription = subscription;
     mParent       = parent;
 }