code: public List<T> fetchList() throws SQLException, InstantiationException, IllegalAccessException {
          ArrayList<T> result = new ArrayList<T>();
          if (primitive) {
              while (!finished) {
                  result.add(fetchSinglePrimitiveInternal());
                  next();
              }
          } else {
              while (!finished) {
                  result.add(fetchSingleInternal());
                  next();
              }
          }
  
          return result;
      }
docs: Fetches the whole list of entities. It will not stop until entire result set will end.
  
  @return List of fetched entities.
  @throws SQLException
  @throws InstantiationException
  @throws IllegalAccessException