public Resolution resolve(Choice pageTemplate, Query query, Result result) {
        Resolution resolution=new Resolution();
        resolve(pageTemplate,query,result,resolution);
        PageTemplate chosenPageTemplate=(PageTemplate)pageTemplate.get(resolution.getResolution(pageTemplate)).get(0);
        ChoiceResolverVisitor choiceResolverVisitor=new ChoiceResolverVisitor(query,result,resolution);
        chosenPageTemplate.accept(choiceResolverVisitor);
        return choiceResolverVisitor.getResolution();
    }
Override this to resolve choices. Before retuning this method <i>must</i> resolve the given choice
between a set of page templates <i>and</i> all choices found recursively within the <i>chosen</i>
page template. It is permissible but not required to add solutions also to choices present within those
templates which are not chosen.
<p>
This default implementation creates a Resolution and calls
<code>resolve(choice/mapChoice,query,result,resolution)</code> first on the given page template choice, then
on each choice found in that temnplate. This provides a simple API to resolvers which make each choice
independently.

@param pageTemplate the choice of page templates to resolve - a choice containing singleton lists of PageTemplate elements
@param query the query, from which information useful for correct resolution can be found
@param result the result, from which further information useful for correct resolution can be found
@return the resolution of the choices contained in the given page template
container-search/src/main/java/com/yahoo/search/pagetemplates/engine/Resolver.java