protected void run(@NotNull Path projectPath, @NotNull Disposable parentDisposable)
    throws IOException, InterruptedException, ExecutionException {
    Project project = openProject(projectPath, parentDisposable);
    if (project == null) return;
    reportMessageNoLineBreak(1, InspectionsBundle.message("inspection.application.initializing.project"));

    if (myInspectionProfile == null) {
      myInspectionProfile = loadInspectionProfile(project);
    }

    AnalysisScope scope = getAnalysisScope(project);
    if (scope == null) return;
    LOG.info("Used scope: " + scope);
    runAnalysisOnScope(projectPath, parentDisposable, project, myInspectionProfile, scope);
  }
protected void run(@NotNull Path projectPath, @NotNull Disposable parentDisposable)