@Override
  protected void annotate(@NotNull VirtualFile contentRoot,
                          @NotNull CoverageSuitesBundle suite,
                          @NotNull CoverageDataManager dataManager,
                          @NotNull ProjectData data,
                          Project project,
                          CoverageAnnotatorRunner annotator) {
    if (!contentRoot.isValid()) {
      return;
    }
    Map<String, String> normalizedFiles2Files = getNormalizedFiles2FilesMapping(data);
    final ProjectFileIndex index = ProjectRootManager.getInstance(project).getFileIndex();
    // try to annotate files. If no data was found then remap paths and retry
    final DirCoverageInfo info = collectFolderCoverage(contentRoot, dataManager, annotator, data,
                                                       suite.isTrackTestFolders(), index, suite.getCoverageEngine(),
                                                       new HashSet<>(), Collections.unmodifiableMap(normalizedFiles2Files));
    if (info == null) {
      String pathToRemap = findPathToRemap(data.getClasses().keySet(), contentRoot);
      if (pathToRemap != null) {
        // just replace paths for every file
        data = remapData(data, pathToRemap, contentRoot);
        suite.setCoverageData(data);
        for (CoverageSuite suiteSuite : suite.getSuites()) {
          suiteSuite.setCoverageData(data);
        }
        normalizedFiles2Files = getNormalizedFiles2FilesMapping(data);
        collectFolderCoverage(contentRoot, dataManager, annotator, data,
                              suite.isTrackTestFolders(), index, suite.getCoverageEngine(),
                              new HashSet<>(), Collections.unmodifiableMap(normalizedFiles2Files));
      }
    }
  }
@Override
  protected void annotate(@NotNull VirtualFile contentRoot,
                          @NotNull CoverageSuitesBundle suite,
                          @NotNull CoverageDataManager dataManager,
                          @NotNull ProjectData data,
                          Project project,
                          CoverageAnnotatorRunner annotator)