@RequiresEdt
    private void addFileToMove(@NotNull VirtualFile file, @NotNull String newParentPath, @NotNull String newName) {
      if (file.isDirectory() && !file.is(VFileProperty.SYMLINK)) {
        @SuppressWarnings("UnsafeVfsRecursion") VirtualFile[] children = file.getChildren();
        if (children != null) {
          for (VirtualFile child : children) {
            ProgressManager.checkCanceled();
            addFileToMove(child, newParentPath + "/" + newName, child.getName());
          }
        }
      }
      else {
        VcsVFSListener.this.processMovedFile(file, newParentPath, newName);
        myProcessor.processMovedFile(file, newParentPath, newName);
      }
    }
@RequiresEdt
    private void addFileToMove(@NotNull VirtualFile file, @NotNull String newParentPath, @NotNull String newName)