I didn't check with a test, but from what I can see, calling firstResult/maxResult on HSQueryImpl does not clear the cached results, so I think using paging repeatedly on the same query instance will always return the same result size...