The Great JCache Pull request :)

What happens when close is called concurrently? In theory it can happen that 2 threads call the close concurrently and both end up closing the caches. Probably better to add an AtomicBoolean with a cas to prevent this from happening.