void (@NotNull VirtualFile root, @NotNull Processor<? super VirtualFile> processor) { FileTypeRegistry ftm = FileTypeRegistry.getInstance(); visitChildrenRecursively(root, new VirtualFileVisitor<Void>() { @Override public @NotNull Result visitFileEx(@NotNull VirtualFile file) { if (!processor.process(file)) return skipTo(root); return file.isDirectory() && ftm.isFileIgnored(file) ? SKIP_CHILDREN : CONTINUE; } }); }