FetchOptions options = null;
if (queryInfo.top != null)
options = FetchOptions.Builder.withLimit(queryInfo.top);
if (queryInfo.skip != null)
options = options == null ? FetchOptions.Builder.withOffset(queryInfo.skip) : options.offset(queryInfo.skip);
Iterable<Entity> iter = options == null ? pq.asIterable() : pq.asIterable(options);
final QueryInfo qi = queryInfo;
List<OEntity> entities = Enumerable.create(iter).select(new Func1<Entity, OEntity>() {