public void accept()

in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/CommitStatusPublisherListener.java [947:973]


    public void accept(final PerformingTask task) {
      Event eventType = getEventType(task);
      BuildPromotion promotion = getBuildPromotion(task);

      task.finished();
      if (eventType == null || promotion == null) {
        eventProcessed(eventType);
        return;
      }

      Event event = myLastEvents.get(promotion.getId());
      if (event != null && event == Event.STARTED) {
        eventProcessed(event);
        return;
      }

      User commentAuthor = getUser(task);
      String comment = getComment(task);
      AdditionalTaskInfo additionalTaskInfo = new AdditionalTaskInfo(promotion, comment, commentAuthor);

      Long lastDelay = task.getLongArg2();
      if (lastDelay != null && eventType == Event.QUEUED && promotion.getQueuedBuild() == null) {
        // we do not retry publishing queued status if the build is no longer in queue
        return;
      }
      runAsync(() -> runForEveryPublisher(eventType, promotion, additionalTaskInfo, lastDelay), () -> { eventProcessed(eventType); });
    }