code: public Query adding( Ordering... orderings ) {
          List<Ordering> newOrderings = null;
          if (this.orderings() != null) {
              newOrderings = new ArrayList<Ordering>(orderings());
              for (Ordering ordering : orderings) {
                  newOrderings.add(ordering);
              }
          } else {
              newOrderings = Arrays.asList(orderings);
          }
          return new Query(source, constraint, newOrderings, columns, getLimits(), distinct);
      }
docs: Create a copy of this query, but that returns results that are ordered by the {@link #orderings() orderings} of this column
  as well as those supplied.
  
  @param orderings the additional orderings of the result rows; may no be null
  @return the copy of the query returning the supplied result columns; never null