can't you use the same logic as in intermediate cache? creating a ```useResultCache(String)``` instead of creating a new ```execute()```?