@Override
  public void onStart(Object sessionId, long startCompilationStamp, Runnable restartWork, ProgressIndicator indicator) {
    List<AnAction> restartActions = getRestartActions(restartWork, indicator);
    List<AnAction> contextActions = getContextActions();
    String title;
    if (myContentName.equals(JavaCompilerBundle.message("compiler.content.name.rebuild")) ||
        myContentName.equals(JavaCompilerBundle.message("compiler.content.name.recompile")) ||
        myContentName.equals(JavaCompilerBundle.message("compiler.content.name.make"))) {
      title = myProject.getName();
    }
    else {
      title = capitalize(wordsToBeginFromLowerCase(myContentName));
    }

    DefaultBuildDescriptor buildDescriptor =
      new DefaultBuildDescriptor(sessionId, title, notNullize(myProject.getBasePath()), startCompilationStamp)
        .withRestartActions(restartActions.toArray(AnAction.EMPTY_ARRAY))
        .withAction(new CompilerPropertiesAction())
        .withExecutionFilter(new ModuleLinkFilter(myProject))
        .withExecutionFilter(new RegexpFilter(myProject, FILE_PATH_MACROS + ":" + LINE_MACROS + ":" + COLUMN_MACROS))
        .withExecutionFilter(new UrlFilter(myProject))
        .withContextAction(node -> {
          return new ExcludeFromCompileAction(myProject) {
            @Override
            protected @Nullable VirtualFile getFile() {
              List<Navigatable> navigatables = node.getNavigatables();
              if (navigatables.size() != 1) return null;
              Navigatable navigatable = navigatables.get(0);
              if (navigatable instanceof OpenFileDescriptor) {
                return ((OpenFileDescriptor)navigatable).getFile();
              }
              else if (navigatable instanceof FileNavigatable) {
                OpenFileDescriptor fileDescriptor = ((FileNavigatable)navigatable).getFileDescriptor();
                return fileDescriptor != null ? fileDescriptor.getFile() : null;
              }
              return null;
            }
          };
        })
        .withContextActions(contextActions.toArray(AnAction.EMPTY_ARRAY));

    myBuildProgress.start(new BuildProgressDescriptor() {
      @NotNull
      @Override
      public String getTitle() {
        return buildDescriptor.getTitle();
      }

      @Override
      public @NotNull BuildDescriptor getBuildDescriptor() {
        return buildDescriptor;
      }
    });
    addIndicatorDelegate(indicator);
  }
@Override
  public void onStart(Object sessionId, long startCompilationStamp, Runnable restartWork, ProgressIndicator indicator)