@Override
        @SuppressWarnings("unchecked")
        public T acquire() {
            if (mPoolSize > 0) {
                final int lastPooledIndex = mPoolSize - 1;
                T instance = (T) mPool[lastPooledIndex];
                mPool[lastPooledIndex] = null;
                mPoolSize--;
                return instance;
            }
            return null;
        }
Creates a new instance.

@param maxPoolSize The max pool size.

@throws IllegalArgumentException If the max pool size is less than zero.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/util/obs/Pools.java