code: public OrderBy addSchemaOrder(Order order) {
      if (this.schemaOrderIndex != null) {
        throw new IllegalStateException("The schema order is already set");
      }
      this.schemaOrder = order;
      this.schemaOrderIndex = getElements().size();
      return this;
    }
docs: This method,unlike the traditional
  {@link OrderBy#add(String, Order, NullOrder, RawComparator)} method, adds a symbolic
  elements to order by.<p>
  <p/>
  This method only works in a multi-schema scenario, and it specifies that
  tuples will be sorted by their schema,not by a field's name.<br>
  <p/>
  Example :<br>
  b.addIntermediateSchema(schema1); b.addIntermediateSchema(schema2);<br>
  b.setOrderBy(new OrderBy().add("user_id",Order.ASC).addSchemaOrder(Order.DESC));</br>
  <p/>
  In the case above, tuples will be first sorted by user_id and then if they
  compare as equals then tuples from schema2 will sort before those from
  schema1.
  <p/>
  This method must be called just once, and it's not allowed in
  {@link TupleMRConfigBuilder#setSpecificOrderBy(String, OrderBy)}