private static boolean iterateAll( @NotNull VirtualFile[] files, @NotNull final GlobalSearchScope searchScope, @NotNull final ContentIterator iterator) { final FileTypeManager fileTypeManager = FileTypeManager.getInstance(); final VirtualFileFilter contentFilter = new VirtualFileFilter() { @Override public boolean accept(@NotNull final VirtualFile file) { return file.isDirectory() || !fileTypeManager.isFileIgnored(file) && !file.getFileType().isBinary() && searchScope.contains(file); } }; for (VirtualFile file : files) { if (!VfsUtilCore.iterateChildrenRecursively(file, contentFilter, iterator)) return false; } return true; }