combined cacheResults and transformResultsToValueObjects methods