code: public Table sortOn(int... columnIndexes) {
          List<String> names = new ArrayList<>();
          for (int i : columnIndexes) {
              if (i >= 0) {
                  names.add(columnList.get(i).name());
              } else {
                  names.add("-" + columnList.get(-i).name());
              }
          }
          return sortOn(names.toArray(new String[names.size()]));
      }
docs: Sorts this table into a new table on the columns indexed
  <p>
  if index is negative then sort that column in decending order otherwise sort ascending