Avoid double invocation of Cache#get

Previous to this commit, every @Cacheable operation with a cache hit
resulted to two invocations of Cache#get(key). This commit introduces
a findCachedItem method whose sole purpose is to retrieve a cached
item, if any. This value is reused instead of being recomputed again.

Issue: SPR-11592