docs: private void taskComplete(
        HttpRemoteTaskRunnerWorkItem taskRunnerWorkItem,
        WorkerHolder workerHolder,
        TaskStatus taskStatus
    )
    {
      Preconditions.checkState(!Thread.holdsLock(statusLock), "Current thread must not hold statusLock.");
      Preconditions.checkNotNull(taskRunnerWorkItem, "taskRunnerWorkItem");
      Preconditions.checkNotNull(taskStatus, "taskStatus");
      if (workerHolder != null) {
        log.info(
            "Worker[%s] completed task[%s] with status[%s]",
            workerHolder.getWorker().getHost(),
            taskStatus.getId(),
            taskStatus.getStatusCode()
        );
        // Worker is done with this task
        workerHolder.setLastCompletedTaskTime(DateTimes.nowUtc());
      }
  
      // Notify interested parties
      taskRunnerWorkItem.setResult(taskStatus);
      TaskRunnerUtils.notifyStatusChanged(listeners, taskStatus.getId(), taskStatus);
  
      // Update success/failure counters, Blacklist node if there are too many failures.
      if (workerHolder != null) {
        blacklistWorkerIfNeeded(taskStatus, workerHolder);
      }
  
      synchronized (statusLock) {
        statusLock.notifyAll();
      }
    }