jdbc-protolib/src/main/java/com/streamsets/pipeline/lib/jdbc/multithread/TableOrderProviderFactory.java
public TableOrderProvider create() {
    switch (tableOrderStrategy) {
      case NONE:
        //Don't do any ordering, just add tables as per the incoming order.
        return new DefaultTableOrderProvider(new LinkedHashSet<>());
      case ALPHABETICAL:
        //Alphabetical sorting based on table qualified names.
        return new DefaultTableOrderProvider(new TreeSet<>());
      case REFERENTIAL_CONSTRAINTS:
        return new ReferentialTblOrderProvider(connection);
      default:
        throw new IllegalArgumentException(Utils.format("Unknown table order strategy: {}", tableOrderStrategy));
    }
  }
public TableOrderProvider create() {
    switch (tableOrderStrategy) {
      case NONE:
        //Don't do any ordering, just add tables as per the incoming order.
        return new DefaultTableOrderProvider(new LinkedHashSet<>());
      case ALPHABETICAL:
        //Alphabetical sorting based on table qualified names.
        return new DefaultTableOrderProvider(new TreeSet<>());
      case REFERENTIAL_CONSTRAINTS:
        return new ReferentialTblOrderProvider(connection);
      default:
        throw new IllegalArgumentException(Utils.format("Unknown table order strategy: {}", tableOrderStrategy));
    }
  }
Create {@link TableOrderProvider} for the {@link TableOrderStrategy}
@return {@link TableOrderProvider}