List cachedResults = queryCache.get(metadata, factory);
// response may already be initialized by the factory above ... it is null if
// there was a preexisting cache entry
if (response == null) {
response = new ListResponse(cachedResults);
}
if (cachedResults instanceof ListWithPrefetches) {
this.prefetchResultsByPath = ((ListWithPrefetches) cachedResults)
.getPrefetchResultsByPath();