private List<Field> getAggregatedFieldsFromRoot() { List<Field> result = new ArrayList<Field>(); result.addAll(aggregateBy); for (Field field : action.getSelectFields()) { if (field.owner() == action.getRootQuery() || field.owner() == action.getQuery()) { if (field.getAggregation() != Aggregation.None) result.add(field); } } return result; }