public static void iterateExistingInsideScope(@NotNull VcsDirtyScope scope, @NotNull Processor<? super VirtualFile> iterator) {
    Project project = scope.getProject();
    if (project.isDisposed()) return;

    for (FilePath dir : scope.getRecursivelyDirtyDirectories()) {
      final VirtualFile vFile = obtainVirtualFile(dir);
      if (vFile != null && vFile.isValid()) {
        iterateVfUnderVcsRoot(project, vFile, iterator);
      }
    }

    for (FilePath file : scope.getDirtyFilesNoExpand()) {
      VirtualFile vFile = obtainVirtualFile(file);
      if (vFile != null && vFile.isValid()) {
        iterator.process(vFile);
        if (vFile.isDirectory()) {
          for (VirtualFile child : vFile.getChildren()) {
            iterator.process(child);
          }
        }
      }
    }
  }
public static void iterateExistingInsideScope(@NotNull VcsDirtyScope scope, @NotNull Processor<? super VirtualFile> iterator)