private static void runAnalysisAfterShelvingSync(Project project, List<? extends VirtualFile> files,
                                                   ProgressIndicator progressIndicator, Runnable afterShelve) {
    Set<VirtualFile> versionedRoots =
      StreamEx.of(files).map(it -> ProjectLevelVcsManager.getInstance(project).getVcsRootFor(it)).nonNull().toSet();
    String message = VcsBundle.message("searching.for.code.smells.freezing.process");
    VcsPreservingExecutor.executeOperation(project, versionedRoots, message, progressIndicator, afterShelve);
  }
private static void runAnalysisAfterShelvingSync(Project project, List<? extends VirtualFile> files,
                                                   ProgressIndicator progressIndicator, Runnable afterShelve)