public <T1> ReactorMapper1.DistinctLimitOffset<T1> select(Projection<T1> proj1) {
    Query newQuery = this.query.addProjections(Matchers.toExpression(proj1));
    return new ReactorMappers.Mapper1<>(newQuery, session);
  }
Reader returning <a href="https://projectreactor.io">Reactor</a> types
criteria/reactor/src/org/immutables/criteria/reactor/ReactorReader.java