question: private List < Object > executeGroupBy ( ProfileMeasurement m ) { List < Object > groups = new ArrayList < > ( ) ; if ( ! isEmpty ( m . getGroupBy ( ) ) ) { try { BeanMap measureAsMap = new BeanMap ( m ) ; for ( String expr : m . getGroupBy ( ) ) { Object result = executor . execute ( expr , measureAsMap , Object . class ) ; groups . add ( result ) ; } } catch ( Throwable e ) { String msg = format ( "Bad 'groupBy' expression: %s, profile=%s, entity=%s" , e . getMessage ( ) , m . getProfileName ( ) , m . getEntity ( ) ) ; throw new ParseException ( msg , e ) ; } } return groups ; }
target:  Executes each of the 'groupBy' expressions.  The result of each expression are the groups used to sort the data as part of the row key.