class SelectParserMultiple extends RequestParserMultiple {

    protected void facetsParse(final JsonNode rootNode)
        throws InvalidParseOperationException {
        if (rootNode == null) {
            return;
        }
        if (!rootNode.isArray()) {
            throw new InvalidParseOperationException("Parse in error for Field: should be an array");
        }
        GlobalDatas.sanityParametersCheck(rootNode.toString(), GlobalDatas.NB_FACETS);
        try {
            ((SelectMultiQuery) request).resetFacets();
            for (final JsonNode facet : rootNode) {
                if (!facet.has(FACETARGS.NAME.exactToken())) {
                    throw new InvalidParseOperationException("Invalid parse: name is mandatory");
                }
                FACET facetCommand = getFacetCommand(facet);
                ((SelectMultiQuery) request).addFacets(analyzeOneFacet(facet, facetCommand));
            }

        } catch (final Exception e) {
            throw new InvalidParseOperationException(
                "Parse in error for Field: " + rootNode, e);
        }
    }

    public  SelectParserMultiple();
    public  SelectParserMultiple(VarNameAdapter adapter);

}