docs: public SplitDataProperties<T> splitsGroupedBy(int... groupFields) {
  
  		if (groupFields == null) {
  			throw new InvalidProgramException("GroupFields may not be null.");
  		} else if (groupFields.length == 0) {
  			throw new InvalidProgramException("GroupFields may not be empty.");
  		}
  
  		if (this.splitOrdering != null) {
  			throw new InvalidProgramException("DataSource may either be grouped or sorted.");
  		}
  
  		this.splitGroupKeys = getAllFlatKeys(groupFields);
  
  		return this;
  	}