public <T1, T2, T3, T4, T5> ReactorMapper5.DistinctLimitOffset<T1, T2, T3, T4, T5> select(Projection<T1> proj1, Projection<T2> proj2, Projection<T3> proj3, Projection<T4> proj4, Projection<T5> proj5) {
    Query newQuery = this.query.addProjections(Matchers.toExpression(proj1), Matchers.toExpression(proj2), Matchers.toExpression(proj3), Matchers.toExpression(proj4), Matchers.toExpression(proj5));
    return new ReactorMappers.Mapper5<>(newQuery, session);
  }
Reader returning <a href="https://projectreactor.io">Reactor</a> types
criteria/reactor/src/org/immutables/criteria/reactor/ReactorReader.java