@Override
        public void visitExpression(GroupingExpression exp) {
            if (exp instanceof AttributeMapLookupValue mapLookup) {
                verifyHasAttribute(mapLookup.getKeyAttribute(), true);
                verifyHasAttribute(mapLookup.getValueAttribute(), true);
                if (mapLookup.hasKeySourceAttribute()) {
                    verifyHasAttribute(mapLookup.getKeySourceAttribute(), true);
                    verifyCompatibleAttributeTypes(mapLookup.getKeyAttribute(), mapLookup.getKeySourceAttribute());
                }
            } else if (exp instanceof AttributeValue) {
                verifyHasAttribute(((AttributeValue) exp).getAttributeName(), false);
            }
        }
Constructs a new instance of this searcher with the given component id and config.

@param clusterConfig The config for the cluster that this searcher is deployed for.
container-search/src/main/java/com/yahoo/search/grouping/GroupingValidator.java