private void UpdateObservableDrives()
        {
            Drive old = null;

            if (SelectedDrive != null)
            {
                old = SelectedDrive;
            }
            GoldDriveList.Clear();
            FreeDriveList.Clear();
            _mountService.GoldDrives.ForEach(GoldDriveList.Add);
            _mountService.FreeDrives.ForEach(FreeDriveList.Add);
            if (old != null && SelectedDrive == null)
            {
                SelectedDrive = old;
            }

            if (SelectedDrive != null)
            {
                var d1 = _mountService.GoldDrives.ToList().Find(x => x.Name == SelectedDrive.Name);
                if (d1 != null)
                {
                    d1.Clone(SelectedDrive);
                    SelectedDrive = d1;
                }
                else
                {
                    var d2 = _mountService.FreeDrives.ToList().Find(x => x.Name == SelectedDrive.Name);
                    if (d2 != null)
                    {
                        d2.Clone(SelectedDrive);
                        SelectedDrive = d2;
                    }
                }
            }
            else
            {
                if (_mountService.GoldDrives.Count > 0)
                {
                    SelectedDrive = _mountService.GoldDrives.First();
                }
                else if (_mountService.FreeDrives.Count > 0)
                {
                    SelectedDrive = _mountService.FreeDrives.First();
                }
            }

            NotifyPropertyChanged("FreeDriveList");
            NotifyPropertyChanged("GoldDriveList");
        }