private boolean checkField(Field field) { if (aggregateBy.isEmpty() || groupedSelectFields.contains(field) || field instanceof Expression) return true; for (Link link : aggregateBy) { if (!link.owner().getPath(field).isEmpty()) return true; } return false; }