protected override void Eject () { base.Eject (); CancelSyncThread (); if (Volume.CanUnmount) Volume.Unmount (); if (Volume.CanEject) Volume.Eject (); Dispose (); }