*/
public SortedGrouping(DataSet<T> set, Keys<T> keys, String field, Order order) {
super(set, keys);
if (!(dataSet.getType() instanceof CompositeType)) {
throw new InvalidProgramException("Specifying order keys via field positions is only valid for composite data types (pojo / tuple / case class)");
}
// resolve String-field to int using the expression keys
ExpressionKeys<T> ek = new ExpressionKeys<T>(new String[]{field}, dataSet.getType());
this.groupSortKeyPositions = ek.computeLogicalKeyPositions();
this.groupSortOrders = new Order[groupSortKeyPositions.length];