boolean (@NotNull VirtualFile file) { myProgressIndicator.checkCanceled(); if (file.isDirectory() && SKIPPED_DIRECTORIES.contains(file.getName()) || !myProcessedFiles.add(file)) { return false; } if (!file.isDirectory()) { final FileType fileType = file.getFileType(); if (myDetectorsByFileType.containsKey(fileType)) { myProgressIndicator.setText2(file.getPresentableUrl()); try { final FileContent fileContent = FileContentImpl.createByFile(file, myContext.getProject()); for (FrameworkDetectorData detector : myDetectorsByFileType.get(fileType)) { if (detector.myFilePattern.accepts(fileContent)) { detector.mySuitableFiles.add(file); } } } catch (IOException e) { LOG.info(e); } } } return true; }