public Searcher searcher() {
        return new Searcher();
    }
@Test
    void requireThatPredicatesHavingMultipleIdenticalConjunctionsAreSupported() {
        PredicateIndexBuilder builder = new PredicateIndexBuilder(10);
        builder.indexDocument(DOC_ID, Predicate.fromString(
                "((a in ['b'] and c in ['d']) or x in ['y']) and ((a in ['b'] and c in ['d']) or z in ['w'])"));
        PredicateIndex index = builder.build();
        PredicateIndex.Searcher searcher = index.searcher();
        PredicateQuery query = new PredicateQuery();
        query.addFeature("a", "b");
        query.addFeature("c", "d");
        assertEquals("[42]", searcher.search(query).toList().toString());
    }