protected override void OnRevert(FilePath[] localPaths, bool recurse, IProgressMonitor monitor)
 {
     foreach (var ws in GroupFilesPerWorkspace(localPaths))
     {
         var specs = ws.Select(x => new ItemSpec(x, recurse ? RecursionType.Full : RecursionType.None)).ToList();
         var operations = ws.Key.Undo(specs, monitor);
         cache.RefreshItems(operations);
         FileService.NotifyFilesChanged(operations);
     }
     FileService.NotifyFilesRemoved(localPaths.Where(x => !FileHelper.HasFile(x)));
 }