bundles/org.tukani.xz/src/org/tukaani/xz/BasicArrayCache.java
private static <T> T getArray(CacheMap<T> cache, int size) {
        // putArray doesn't add small arrays to the cache and so it's
        // pointless to look for small arrays here.
        if (size < CACHEABLE_SIZE_MIN)
            return null;

        // Try to find a stack that holds arrays of T[size].
        CyclicStack<Reference<T>> stack;
        synchronized(cache) {
            stack = cache.get(size);
        }

        if (stack == null)
            return null;

        // Try to find a non-cleared Reference from the stack.
        T array;
        do {
            Reference<T> r = stack.pop();
            if (r == null)
                return null;

            array = r.get();
        } while (array == null);

        return array;
    }
private static <T> T getArray(CacheMap<T> cache, int size) {
        // putArray doesn't add small arrays to the cache and so it's
        // pointless to look for small arrays here.
        if (size < CACHEABLE_SIZE_MIN)
            return null;

        // Try to find a stack that holds arrays of T[size].
        CyclicStack<Reference<T>> stack;
        synchronized(cache) {
            stack = cache.get(size);
        }

        if (stack == null)
            return null;

        // Try to find a non-cleared Reference from the stack.
        T array;
        do {
            Reference<T> r = stack.pop();
            if (r == null)
                return null;

            array = r.get();
        } while (array == null);

        return array;
    }
private static < T > T getArray ( CacheMap < T > cache , int size ) { // putArray doesn't add small arrays to the cache and so it's // pointless to look for small arrays here. if ( size < CACHEABLE_SIZE_MIN ) return null ; // Try to find a stack that holds arrays of T[size]. CyclicStack < Reference < T > > stack ; synchronized ( cache ) { stack = cache . get ( size ) ; } if ( stack == null ) return null ; // Try to find a non-cleared Reference from the stack. T array ; do { Reference < T > r = stack . pop ( ) ; if ( r == null ) return null ; array = r . get ( ) ; } while ( array == null ) ; return array ; }
Gets {@code T[size]} from the given {@code cache}.
If no such array is found, {@code null} is returned.
Gets {