### Question:
ObjectSelect extends FluentSelect<T> implements ParameterizedQuery { public ObjectSelect<T> statementFetchSize(int size) { this.metaData.setStatementFetchSize(size); return this; } protected  ObjectSelect(); static ObjectSelect<T> query(Class<T> entityType); static ObjectSelect<T> query(Class<T> entityType, Expression expression); static ObjectSelect<T> query(Class<T> entityType, Expression expression, List<Ordering> orderings); static ObjectSelect<DataRow> dataRowQuery(Class<?> entityType); static ObjectSelect<DataRow> dataRowQuery(Class<?> entityType, Expression expression); static ObjectSelect<T> query(Class<T> resultType, String entityName); static ObjectSelect<DataRow> dbQuery(String dbEntityName); static ObjectSelect<DataRow> dbQuery(String dbEntityName, Expression expression); static ColumnSelect<E> columnQuery(Class<?> entityType, Property<E> column); static ColumnSelect<Object[]> columnQuery(Class<?> entityType, Property<?>... columns); ObjectSelect<T> entityType(Class<?> entityType); ObjectSelect<T> entityName(String entityName); ObjectSelect<T> dbEntityName(String dbEntityName); ObjectSelect<T> where(Expression expression); ObjectSelect<T> where(String expressionString, Object... parameters); ObjectSelect<T> having(Expression expression); ObjectSelect<T> having(String expressionString, Object... parameters); ObjectSelect<T> and(Expression... expressions); ObjectSelect<T> and(Collection<Expression> expressions); ObjectSelect<T> or(Expression... expressions); ObjectSelect<T> or(Collection<Expression> expressions); ObjectSelect<T> orderBy(String property); ObjectSelect<T> orderBy(String property, SortOrder sortOrder); ObjectSelect<T> orderBy(Ordering... orderings); ObjectSelect<T> orderBy(Collection<Ordering> orderings); ObjectSelect<T> prefetch(PrefetchTreeNode prefetch); ObjectSelect<T> prefetch(String path, int semantics); ObjectSelect<T> limit(int fetchLimit); ObjectSelect<T> offset(int fetchOffset); ObjectSelect<T> pageSize(int pageSize); ObjectSelect<T> statementFetchSize(int size); ObjectSelect<T> queryTimeout(int timeout); ObjectSelect<T> cacheStrategy(QueryCacheStrategy strategy); ObjectSelect<T> cacheStrategy(QueryCacheStrategy strategy, String cacheGroup); ObjectSelect<T> cacheGroup(String cacheGroup); ObjectSelect<T> localCache(String cacheGroup); ObjectSelect<T> localCache(); ObjectSelect<T> sharedCache(String cacheGroup); ObjectSelect<T> sharedCache(); @SuppressWarnings("unchecked") ObjectSelect<DataRow> fetchDataRows(); ColumnSelect<Object[]> columns(Property<?>... properties); ColumnSelect<E> column(Property<E> property); ColumnSelect<Long> count(); ColumnSelect<Long> count(BaseProperty<?> property); ColumnSelect<E> min(ComparableProperty<E> property); ColumnSelect<E> min(NumericProperty<E> property); ColumnSelect<E> max(ComparableProperty<E> property); ColumnSelect<E> max(NumericProperty<E> property); @Deprecated ColumnSelect<E> avg(org.apache.cayenne.exp.Property<E> property); ColumnSelect<E> avg(NumericProperty<E> property); @Deprecated ColumnSelect<E> sum(org.apache.cayenne.exp.Property<E> property); ColumnSelect<E> sum(NumericProperty<E> property); ObjectSelect<T> distinct(); long selectCount(ObjectContext context); @Override T selectFirst(ObjectContext context); @Override boolean isFetchingDataRows(); @Override QueryMetadata getMetaData(EntityResolver resolver); @Override Query createQuery(Map<String, ?> parameters);  }### Answer:
@Test public void testStatementFetchSize() { ObjectSelect<Artist> q = ObjectSelect.query(Artist.class); assertEquals(0, q.getStatementFetchSize()); q.statementFetchSize(2); assertEquals(2, q.getStatementFetchSize()); q.statementFetchSize(3).statementFetchSize(5); assertEquals(5, q.getStatementFetchSize()); }