code: public static List<RowProcessingConsumer> sortConsumers(List<RowProcessingConsumer> consumers) {
          final RowProcessingConsumerSorter sorter = new RowProcessingConsumerSorter(consumers);
          final List<RowProcessingConsumer> sortedConsumers = sorter.createProcessOrderedConsumerList();
          if (logger.isDebugEnabled()) {
              logger.debug("Row processing order ({} consumers):", sortedConsumers.size());
              int i = 1;
              for (RowProcessingConsumer rowProcessingConsumer : sortedConsumers) {
                  logger.debug(" {}) {}", i, rowProcessingConsumer);
                  i++;
              }
          }
          return sortedConsumers;
      }
docs: Sorts a list of consumers into their execution order
  
  @param consumers
  @return