code: @Override
    public final <T> List<T> retrievePage(
      final Map<String, Object> pAddParam,
        final Class<T> pEntityClass,
          final Integer pFirst, final Integer pPageSize) throws Exception {
      String query = evalSqlSelect(pAddParam, pEntityClass);
      return retrievePageByQuery(pAddParam, pEntityClass, query,
        pFirst, pPageSize);
    }
docs: <p>Retrieve a page of entities.</p>
  @param <T> - type of business object,
  @param pAddParam additional param, e.g. already retrieved TableSql
  @param pEntityClass entity class
  @param pFirst number of the first record (from 0)
  @param pPageSize page size (max records)
  @return list of business objects or empty list, not null
  @throws Exception - an exception