@Override
    public void destroy() {
        if (!isDestroyed.compareAndSet(false, true)) {
            return;
        }

        deregisterLifecycleListener();
        for (ICacheInternal cache : caches.values()) {
            cache.destroy();
        }
        caches.clear();

        isClosed.set(true);

        postDestroy();
    }
@ Override public void destroy ( ) { if ( ! isDestroyed . compareAndSet ( false , true ) ) { return ; } deregisterLifecycleListener ( ) ; for ( ICacheInternal cache : caches . values ( ) ) { cache . destroy ( ) ; } caches . clear ( ) ; isClosed . set ( true ) ; postDestroy ( ) ; }
Destroys all managed caches.