### Question:
ListSelectStatement extends
		AbstractSelectStatement<T, ListSelectStatement<T>> { public Paginated<T> executeWithPagination(long entriesPerPage) { try (Stream<T> stream = this.limit(entriesPerPage + 1).executeStream()) { return new Paginated<>(stream.collect(Collectors.toList()), entriesPerPage); } } ListSelectStatement(Connection connection,
			Class<T> klass, TableMeta<T> tableMeta, TinyORM orm); List<T> execute(); Paginated<T> executeWithPagination(long entriesPerPage); Stream<T> executeStream();  }### Answer:
@Test public void testExecuteWithPagination() { { Paginated<Member> list = orm.search(Member.class).orderBy("id DESC").executeWithPagination(1); assertThat(list.getRows().size(), is(0)); assertThat(list.getEntriesPerPage(), is(1L)); assertThat(list.getHasNextPage(), is(false)); } final List<Member> members = new ArrayList<>(); for (int i = 0; i<3; i++) { members.add(orm.insert(Member.class).value("name", "name").executeSelect()); } { Paginated<Member> list = orm.search(Member.class).orderBy("id DESC").executeWithPagination(1); assertThat(list.getRows().size(), is(1)); assertThat(list.getEntriesPerPage(), is(1L)); assertThat(list.getHasNextPage(), is(true)); } { Paginated<Member> list = orm.search(Member.class).orderBy("id DESC").executeWithPagination(3); assertThat(list.getRows().size(), is(3)); assertThat(list.getEntriesPerPage(), is(3L)); assertThat(list.getHasNextPage(), is(false)); } { Paginated<Member> list = orm.search(Member.class).orderBy("id DESC").executeWithPagination(4); assertThat(list.getRows().size(), is(3)); assertThat(list.getEntriesPerPage(), is(4L)); assertThat(list.getHasNextPage(), is(false)); } { Paginated<Member> list = orm.search(Member.class).orderBy("id").offset(1).executeWithPagination(1); assertThat(list.getRows().size(), is(1)); assertThat(list.getRows().get(0).getId(), is(members.get(1).getId())); } }