internal void Remove(PSDriveInfo drive, string scope, ProviderRuntime runtime)
 {
     // make sure the provider can clean up this drive properly
     GetProvider(drive).RemoveDrive(drive, runtime);
     if (String.IsNullOrEmpty(scope))
     {
         _scope.Remove(drive.ItemName, false);
     }
     else
     {
         _scope.RemoveAtScope(drive.ItemName, scope);
     }
 }
 public void Remove(string driveName, bool force, string scope)
 {
     /* TODO: force is used to remove the drive "although it's in use by the provider"
      * So, we need to find out when a drive is in use and should throw an exception on removal without
      * the "force" parameter being true
      */
     try
     {
         //TODO: the provider's "RemoveDrive" method must be called here l #providerSupport
         _scope.RemoveAtScope(driveName, scope);
     }
     catch (ItemNotFoundException)
     {
         throw new DriveNotFoundException(driveName, String.Empty, null);
     }
 }