this still forces all results to be materialized to populate the cache and we cannot begin returning results until cache population is done, which is not exactly what we want. Have you looked into a cache populating yielder?