@Override
        public boolean visitFile(@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;
        }
@Override
        public boolean visitFile(@NotNull VirtualFile file)