private void scheduleRowProcessing(final RowProcessingPublishers publishers, final LifeCycleHelper lifeCycleHelper,
final JobCompletionTaskListener jobCompletionTaskListener, final AnalysisJobMetrics analysisJobMetrics) {
logger.info("Created {} row processor publisher(s)", publishers.size());
final TaskListener rowProcessorPublishersDoneCompletionListener =
new JoinTaskListener(publishers.size(), jobCompletionTaskListener);
final Collection<RowProcessingPublisher> rowProcessingPublishers = publishers.getRowProcessingPublishers();
logger.debug("RowProcessingPublishers: {}", rowProcessingPublishers);
dispatchWhenReady(rowProcessingPublishers, rowProcessorPublishersDoneCompletionListener);
}