code: public Query query(Schema schema, Query range) {
  
          BooleanQuery.Builder builder = new BooleanQuery.Builder();
          if (range != null) {
              builder.add(range, FILTER);
          }
  
          filter.forEach(condition -> builder.add(condition.query(schema), FILTER));
          query.forEach(condition -> builder.add(condition.query(schema), MUST));
  
          BooleanQuery booleanQuery = builder.build();
          return booleanQuery.clauses().isEmpty() ? new MatchAllDocsQuery() : booleanQuery;
      }
docs: Returns the Lucene {@link Query} represented by this search, with the additional optional data range filter.
  
  @param schema the indexing schema
  @param range the additional data range filter, maybe {@code null}
  @return a Lucene {@link Query}