@SuppressWarnings({ "rawtypes", "unchecked" })
    @Override
    public boolean isChoiceBetween(Class pageTemplateModelElementClass) {
        List<PageElement> firstNonEmpty=null;
        for (List<PageElement> value : values)
            if (value.size()>0)
                firstNonEmpty=value;
        if (firstNonEmpty==null) return false;
        return (pageTemplateModelElementClass.isAssignableFrom(firstNonEmpty.get(0).getClass()));
    }
A choice between different possible mapping functions of a set of values to a set of placeholder ids.
A <i>resolution</i> of this choice consists of choosing a unique value for each placeholder id
(hence a map choice is valid iff there are at least as many values as placeholder ids).
<p>
Each unique set of mappings (pairs) from values to placeholder ids is a separate possible
alternative of this choice. The alternatives are not listed explicitly but are generated as needed.

@author bratseth
container-search/src/main/java/com/yahoo/search/pagetemplates/model/MapChoice.java