private void doIndexFiles(@NotNull ProjectDumbIndexingHistoryImpl projectDumbIndexingHistory,
                            IndexUpdateRunner indexUpdateRunner,
                            IndexUpdateRunner.FileSet fileSet,
                            @NotNull IndexingProgressReporter2 reporter) {
    IndexUpdateRunner.IndexingInterruptedException exception = null;
    try {
      indexUpdateRunner.indexFiles(myProject, fileSet, projectDumbIndexingHistory, reporter);
    }
    catch (IndexUpdateRunner.IndexingInterruptedException e) {
      exception = e;
    }

    try {
      projectDumbIndexingHistory.addProviderStatistics(fileSet.getStatistics());
    }
    catch (Exception e) {
      LOG.error("Failed to add indexing statistics", e);
    }

    if (exception != null) {
      ExceptionUtil.rethrow(exception.getCause());
    }
  }
private void doIndexFiles(@NotNull ProjectDumbIndexingHistoryImpl projectDumbIndexingHistory,
                            IndexUpdateRunner indexUpdateRunner,
                            IndexUpdateRunner.FileSet fileSet,
                            @NotNull IndexingProgressReporter2 reporter)