class ReaperImpl implements ReaperQuery {

    @Override
    public Collection<String> nextPage() throws CoreTokenException {
        Reject.ifTrue(connection == null, "Connection must be assigned before use");

        if (results == null) {
            results = query.executeRawResults(connection, String.class);
        }

        if (isQueryComplete()) {
            return null;
        }

        return results.next();
    }

    @Inject public  ReaperImpl(@DataLayer(ConnectionType.CTS_REAPER) QueryFactory queryFactory, CoreTokenConfig config);

}