The Great JCache Pull request :)

Why do you need to synchronized block? Why not do a 

ICache cache = caches.get(cacheName)

And make caches a ConcurrentMap implementation.