void (@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); } } } } }