container/src/main/java/com/streamsets/datacollector/runner/RunnerPool.java
public void returnRunner(T runner) throws PipelineRuntimeException {
    validateNotDestroyed();

    queue.add(new QueueItem<>(runner));
    runtimeStats.setAvailableRunners(queue.size());
    histogram.update(queue.size());
  }
public void returnRunner(T runner) throws PipelineRuntimeException {
    validateNotDestroyed();

    queue.add(new QueueItem<>(runner));
    runtimeStats.setAvailableRunners(queue.size());
    histogram.update(queue.size());
  }
Return given runner back to the pool.

@param runner Runner to be returned