public <T1, T2, T3, T4> SyncMapper4.DistinctLimitOffset<T1, T2, T3, T4> select(Projection<T1> proj1, Projection<T2> proj2, Projection<T3> proj3, Projection<T4> proj4) {
    Query newQuery = this.query.addProjections(Matchers.toExpression(proj1), Matchers.toExpression(proj2), Matchers.toExpression(proj3), Matchers.toExpression(proj4));
    return new SyncMappers.Mapper4<>(newQuery, session);
  }
Synchronous (blocking) reader operations.
@param <T> entity type
criteria/common/src/org/immutables/criteria/repository/sync/SyncReader.java