public final class org.apache.commons.pool.PoolUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.pool.PoolUtils
  super_class: java.lang.Object
{
  private static java.util.Timer MIN_IDLE_TIMER;
    descriptor: Ljava/util/Timer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.PoolUtils this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            return
        end local 0 // org.apache.commons.pool.PoolUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool/PoolUtils;

  public static void checkRethrow(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 64
            aload 0 /* t */
            instanceof java.lang.ThreadDeath
            ifeq 2
         1: .line 65
            aload 0 /* t */
            checkcast java.lang.ThreadDeath
            athrow
         2: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* t */
            instanceof java.lang.VirtualMachineError
            ifeq 4
         3: .line 68
            aload 0 /* t */
            checkcast java.lang.VirtualMachineError
            athrow
         4: .line 71
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public static <V> org.apache.commons.pool.PoolableObjectFactory<V> adapt(org.apache.commons.pool.KeyedPoolableObjectFactory<java.lang.Object, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)Lorg/apache/commons/pool/PoolableObjectFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.KeyedPoolableObjectFactory keyedFactory
         0: .line 86
            aload 0 /* keyedFactory */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokestatic org.apache.commons.pool.PoolUtils.adapt:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;Ljava/lang/Object;)Lorg/apache/commons/pool/PoolableObjectFactory;
            areturn
        end local 0 // org.apache.commons.pool.KeyedPoolableObjectFactory keyedFactory
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  keyedFactory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<Ljava/lang/Object;TV;>;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedPoolableObjectFactory<Ljava/lang/Object;TV;>;)Lorg/apache/commons/pool/PoolableObjectFactory<TV;>;
    MethodParameters:
              Name  Flags
      keyedFactory  final

  public static <K, V> org.apache.commons.pool.PoolableObjectFactory<V> adapt(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, K);
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;Ljava/lang/Object;)Lorg/apache/commons/pool/PoolableObjectFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.KeyedPoolableObjectFactory keyedFactory
        start local 1 // java.lang.Object key
         0: .line 103
            new org.apache.commons.pool.PoolUtils$PoolableObjectFactoryAdaptor
            dup
            aload 0 /* keyedFactory */
            aload 1 /* key */
            invokespecial org.apache.commons.pool.PoolUtils$PoolableObjectFactoryAdaptor.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.KeyedPoolableObjectFactory keyedFactory
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  keyedFactory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    1     1           key  TK;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;TK;)Lorg/apache/commons/pool/PoolableObjectFactory<TV;>;
    MethodParameters:
              Name  Flags
      keyedFactory  final
      key           final

  public static <K, V> org.apache.commons.pool.KeyedPoolableObjectFactory<K, V> adapt(org.apache.commons.pool.PoolableObjectFactory<V>);
    descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;)Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.PoolableObjectFactory factory
         0: .line 118
            new org.apache.commons.pool.PoolUtils$KeyedPoolableObjectFactoryAdaptor
            dup
            aload 0 /* factory */
            invokespecial org.apache.commons.pool.PoolUtils$KeyedPoolableObjectFactoryAdaptor.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;)V
            areturn
        end local 0 // org.apache.commons.pool.PoolableObjectFactory factory
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  factory  Lorg/apache/commons/pool/PoolableObjectFactory<TV;>;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/PoolableObjectFactory<TV;>;)Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
    MethodParameters:
         Name  Flags
      factory  final

  public static <V> org.apache.commons.pool.ObjectPool<V> adapt(org.apache.commons.pool.KeyedObjectPool<java.lang.Object, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;)Lorg/apache/commons/pool/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
         0: .line 133
            aload 0 /* keyedPool */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokestatic org.apache.commons.pool.PoolUtils.adapt:(Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;)Lorg/apache/commons/pool/ObjectPool;
            areturn
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<Ljava/lang/Object;TV;>;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<Ljava/lang/Object;TV;>;)Lorg/apache/commons/pool/ObjectPool<TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final

  public static <V> org.apache.commons.pool.ObjectPool<V> adapt(org.apache.commons.pool.KeyedObjectPool<java.lang.Object, V>, );
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;)Lorg/apache/commons/pool/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // java.lang.Object key
         0: .line 149
            new org.apache.commons.pool.PoolUtils$ObjectPoolAdaptor
            dup
            aload 0 /* keyedPool */
            aload 1 /* key */
            invokespecial org.apache.commons.pool.PoolUtils$ObjectPoolAdaptor.<init>:(Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<Ljava/lang/Object;TV;>;
            0    1     1        key  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<Ljava/lang/Object;TV;>;Ljava/lang/Object;)Lorg/apache/commons/pool/ObjectPool<TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final
      key        final

  public static <K, V> org.apache.commons.pool.KeyedObjectPool<K, V> adapt(org.apache.commons.pool.ObjectPool<V>);
    descriptor: (Lorg/apache/commons/pool/ObjectPool;)Lorg/apache/commons/pool/KeyedObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.ObjectPool pool
         0: .line 164
            new org.apache.commons.pool.PoolUtils$KeyedObjectPoolAdaptor
            dup
            aload 0 /* pool */
            invokespecial org.apache.commons.pool.PoolUtils$KeyedObjectPoolAdaptor.<init>:(Lorg/apache/commons/pool/ObjectPool;)V
            areturn
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  pool  Lorg/apache/commons/pool/ObjectPool<TV;>;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TV;>;)Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    MethodParameters:
      Name  Flags
      pool  final

  public static <T> org.apache.commons.pool.ObjectPool<T> checkedPool(org.apache.commons.pool.ObjectPool<T>, java.lang.Class<T>);
    descriptor: (Lorg/apache/commons/pool/ObjectPool;Ljava/lang/Class;)Lorg/apache/commons/pool/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.ObjectPool pool
        start local 1 // java.lang.Class type
         0: .line 178
            aload 0 /* pool */
            ifnonnull 2
         1: .line 179
            new java.lang.IllegalArgumentException
            dup
            ldc "pool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ifnonnull 4
         3: .line 182
            new java.lang.IllegalArgumentException
            dup
            ldc "type must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 184
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$CheckedObjectPool
            dup
            aload 0 /* pool */
            aload 1 /* type */
            invokespecial org.apache.commons.pool.PoolUtils$CheckedObjectPool.<init>:(Lorg/apache/commons/pool/ObjectPool;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  pool  Lorg/apache/commons/pool/ObjectPool<TT;>;
            0    5     1  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TT;>;Ljava/lang/Class<TT;>;)Lorg/apache/commons/pool/ObjectPool<TT;>;
    MethodParameters:
      Name  Flags
      pool  final
      type  final

  public static <K, V> org.apache.commons.pool.KeyedObjectPool<K, V> checkedPool(org.apache.commons.pool.KeyedObjectPool<K, V>, java.lang.Class<V>);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Class;)Lorg/apache/commons/pool/KeyedObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // java.lang.Class type
         0: .line 199
            aload 0 /* keyedPool */
            ifnonnull 2
         1: .line 200
            new java.lang.IllegalArgumentException
            dup
            ldc "keyedPool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ifnonnull 4
         3: .line 203
            new java.lang.IllegalArgumentException
            dup
            ldc "type must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 205
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$CheckedKeyedObjectPool
            dup
            aload 0 /* keyedPool */
            aload 1 /* type */
            invokespecial org.apache.commons.pool.PoolUtils$CheckedKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class type
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0    5     1       type  Ljava/lang/Class<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;Ljava/lang/Class<TV;>;)Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final
      type       final

  public static <T> java.util.TimerTask checkMinIdle(org.apache.commons.pool.ObjectPool<T>, int, long);
    descriptor: (Lorg/apache/commons/pool/ObjectPool;IJ)Ljava/util/TimerTask;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.apache.commons.pool.ObjectPool pool
        start local 1 // int minIdle
        start local 2 // long period
         0: .line 224
            aload 0 /* pool */
            ifnonnull 2
         1: .line 225
            new java.lang.IllegalArgumentException
            dup
            ldc "keyedPool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 227
      StackMap locals:
      StackMap stack:
            iload 1 /* minIdle */
            ifge 4
         3: .line 228
            new java.lang.IllegalArgumentException
            dup
            ldc "minIdle must be non-negative."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 230
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$ObjectPoolMinIdleTimerTask
            dup
            aload 0 /* pool */
            iload 1 /* minIdle */
            invokespecial org.apache.commons.pool.PoolUtils$ObjectPoolMinIdleTimerTask.<init>:(Lorg/apache/commons/pool/ObjectPool;I)V
            astore 4 /* task */
        start local 4 // java.util.TimerTask task
         5: .line 231
            invokestatic org.apache.commons.pool.PoolUtils.getMinIdleTimer:()Ljava/util/Timer;
            aload 4 /* task */
            lconst_0
            lload 2 /* period */
            invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
         6: .line 232
            aload 4 /* task */
            areturn
        end local 4 // java.util.TimerTask task
        end local 2 // long period
        end local 1 // int minIdle
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     pool  Lorg/apache/commons/pool/ObjectPool<TT;>;
            0    7     1  minIdle  I
            0    7     2   period  J
            5    7     4     task  Ljava/util/TimerTask;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TT;>;IJ)Ljava/util/TimerTask;
    MethodParameters:
         Name  Flags
      pool     final
      minIdle  final
      period   final

  public static <K, V> java.util.TimerTask checkMinIdle(org.apache.commons.pool.KeyedObjectPool<K, V>, K, int, long);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;IJ)Ljava/util/TimerTask;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // java.lang.Object key
        start local 2 // int minIdle
        start local 3 // long period
         0: .line 254
            aload 0 /* keyedPool */
            ifnonnull 2
         1: .line 255
            new java.lang.IllegalArgumentException
            dup
            ldc "keyedPool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 257
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            ifnonnull 4
         3: .line 258
            new java.lang.IllegalArgumentException
            dup
            ldc "key must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 260
      StackMap locals:
      StackMap stack:
            iload 2 /* minIdle */
            ifge 6
         5: .line 261
            new java.lang.IllegalArgumentException
            dup
            ldc "minIdle must be non-negative."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 263
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$KeyedObjectPoolMinIdleTimerTask
            dup
            aload 0 /* keyedPool */
            aload 1 /* key */
            iload 2 /* minIdle */
            invokespecial org.apache.commons.pool.PoolUtils$KeyedObjectPoolMinIdleTimerTask.<init>:(Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;I)V
            astore 5 /* task */
        start local 5 // java.util.TimerTask task
         7: .line 264
            invokestatic org.apache.commons.pool.PoolUtils.getMinIdleTimer:()Ljava/util/Timer;
            aload 5 /* task */
            lconst_0
            lload 3 /* period */
            invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
         8: .line 265
            aload 5 /* task */
            areturn
        end local 5 // java.util.TimerTask task
        end local 3 // long period
        end local 2 // int minIdle
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0    9     1        key  TK;
            0    9     2    minIdle  I
            0    9     3     period  J
            7    9     5       task  Ljava/util/TimerTask;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;TK;IJ)Ljava/util/TimerTask;
    MethodParameters:
           Name  Flags
      keyedPool  final
      key        final
      minIdle    final
      period     final

  public static <K, V> java.util.Map<K, java.util.TimerTask> checkMinIdle(org.apache.commons.pool.KeyedObjectPool<K, V>, java.util.Collection<? extends K>, int, long);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;Ljava/util/Collection;IJ)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // java.util.Collection keys
        start local 2 // int minIdle
        start local 3 // long period
         0: .line 287
            aload 1 /* keys */
            ifnonnull 2
         1: .line 288
            new java.lang.IllegalArgumentException
            dup
            ldc "keys must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 290
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            aload 1 /* keys */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.HashMap.<init>:(I)V
            astore 5 /* tasks */
        start local 5 // java.util.Map tasks
         3: .line 291
            aload 1 /* keys */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
         4: .line 292
            goto 8
         5: .line 293
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* key */
        start local 7 // java.lang.Object key
         6: .line 294
            aload 0 /* keyedPool */
            aload 7 /* key */
            iload 2 /* minIdle */
            lload 3 /* period */
            invokestatic org.apache.commons.pool.PoolUtils.checkMinIdle:(Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;IJ)Ljava/util/TimerTask;
            astore 8 /* task */
        start local 8 // java.util.TimerTask task
         7: .line 295
            aload 5 /* tasks */
            aload 7 /* key */
            aload 8 /* task */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.util.TimerTask task
        end local 7 // java.lang.Object key
         8: .line 292
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 297
            aload 5 /* tasks */
            areturn
        end local 6 // java.util.Iterator iter
        end local 5 // java.util.Map tasks
        end local 3 // long period
        end local 2 // int minIdle
        end local 1 // java.util.Collection keys
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0   10     1       keys  Ljava/util/Collection<+TK;>;
            0   10     2    minIdle  I
            0   10     3     period  J
            3   10     5      tasks  Ljava/util/Map<TK;Ljava/util/TimerTask;>;
            4   10     6       iter  Ljava/util/Iterator<+TK;>;
            6    8     7        key  TK;
            7    8     8       task  Ljava/util/TimerTask;
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;Ljava/util/Collection<+TK;>;IJ)Ljava/util/Map<TK;Ljava/util/TimerTask;>;
    MethodParameters:
           Name  Flags
      keyedPool  final
      keys       final
      minIdle    final
      period     final

  public static <T> void prefill(org.apache.commons.pool.ObjectPool<T>, );
    descriptor: (Lorg/apache/commons/pool/ObjectPool;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.ObjectPool pool
        start local 1 // int count
         0: .line 311
            aload 0 /* pool */
            ifnonnull 2
         1: .line 312
            new java.lang.IllegalArgumentException
            dup
            ldc "pool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 314
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 315
      StackMap locals: int
      StackMap stack:
            aload 0 /* pool */
            invokeinterface org.apache.commons.pool.ObjectPool.addObject:()V
         5: .line 314
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 1 /* count */
            if_icmplt 4
        end local 2 // int i
         7: .line 317
            return
        end local 1 // int count
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   pool  Lorg/apache/commons/pool/ObjectPool<TT;>;
            0    8     1  count  I
            3    7     2      i  I
    Exceptions:
      throws java.lang.Exception, java.lang.IllegalArgumentException
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TT;>;I)V
    MethodParameters:
       Name  Flags
      pool   final
      count  final

  public static <K, V> void prefill(org.apache.commons.pool.KeyedObjectPool<K, V>, K, );
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // java.lang.Object key
        start local 2 // int count
         0: .line 333
            aload 0 /* keyedPool */
            ifnonnull 2
         1: .line 334
            new java.lang.IllegalArgumentException
            dup
            ldc "keyedPool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 336
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            ifnonnull 4
         3: .line 337
            new java.lang.IllegalArgumentException
            dup
            ldc "key must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 339
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 340
      StackMap locals: int
      StackMap stack:
            aload 0 /* keyedPool */
            aload 1 /* key */
            invokeinterface org.apache.commons.pool.KeyedObjectPool.addObject:(Ljava/lang/Object;)V
         7: .line 339
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 6
        end local 3 // int i
         9: .line 342
            return
        end local 2 // int count
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0   10     1        key  TK;
            0   10     2      count  I
            5    9     3          i  I
    Exceptions:
      throws java.lang.Exception, java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;TK;I)V
    MethodParameters:
           Name  Flags
      keyedPool  final
      key        final
      count      final

  public static <K, V> void prefill(org.apache.commons.pool.KeyedObjectPool<K, V>, java.util.Collection<? extends K>, );
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;Ljava/util/Collection;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // java.util.Collection keys
        start local 2 // int count
         0: .line 361
            aload 1 /* keys */
            ifnonnull 2
         1: .line 362
            new java.lang.IllegalArgumentException
            dup
            ldc "keys must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 364
      StackMap locals:
      StackMap stack:
            aload 1 /* keys */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: .line 365
            goto 5
         4: .line 366
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* keyedPool */
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            iload 2 /* count */
            invokestatic org.apache.commons.pool.PoolUtils.prefill:(Lorg/apache/commons/pool/KeyedObjectPool;Ljava/lang/Object;I)V
         5: .line 365
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         6: .line 368
            return
        end local 3 // java.util.Iterator iter
        end local 2 // int count
        end local 1 // java.util.Collection keys
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0    7     1       keys  Ljava/util/Collection<+TK;>;
            0    7     2      count  I
            3    7     3       iter  Ljava/util/Iterator<+TK;>;
    Exceptions:
      throws java.lang.Exception, java.lang.IllegalArgumentException
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;Ljava/util/Collection<+TK;>;I)V
    MethodParameters:
           Name  Flags
      keyedPool  final
      keys       final
      count      final

  public static <T> org.apache.commons.pool.ObjectPool<T> synchronizedPool(org.apache.commons.pool.ObjectPool<T>);
    descriptor: (Lorg/apache/commons/pool/ObjectPool;)Lorg/apache/commons/pool/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.ObjectPool pool
         0: .line 386
            aload 0 /* pool */
            ifnonnull 2
         1: .line 387
            new java.lang.IllegalArgumentException
            dup
            ldc "pool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 399
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$SynchronizedObjectPool
            dup
            aload 0 /* pool */
            invokespecial org.apache.commons.pool.PoolUtils$SynchronizedObjectPool.<init>:(Lorg/apache/commons/pool/ObjectPool;)V
            areturn
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  pool  Lorg/apache/commons/pool/ObjectPool<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TT;>;)Lorg/apache/commons/pool/ObjectPool<TT;>;
    MethodParameters:
      Name  Flags
      pool  final

  public static <K, V> org.apache.commons.pool.KeyedObjectPool<K, V> synchronizedPool(org.apache.commons.pool.KeyedObjectPool<K, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;)Lorg/apache/commons/pool/KeyedObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
         0: .line 419
            aload 0 /* keyedPool */
            ifnonnull 2
         1: .line 420
            new java.lang.IllegalArgumentException
            dup
            ldc "keyedPool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 430
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$SynchronizedKeyedObjectPool
            dup
            aload 0 /* keyedPool */
            invokespecial org.apache.commons.pool.PoolUtils$SynchronizedKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedObjectPool;)V
            areturn
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;)Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final

  public static <T> org.apache.commons.pool.PoolableObjectFactory<T> synchronizedPoolableFactory(org.apache.commons.pool.PoolableObjectFactory<T>);
    descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;)Lorg/apache/commons/pool/PoolableObjectFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.PoolableObjectFactory factory
         0: .line 442
            new org.apache.commons.pool.PoolUtils$SynchronizedPoolableObjectFactory
            dup
            aload 0 /* factory */
            invokespecial org.apache.commons.pool.PoolUtils$SynchronizedPoolableObjectFactory.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;)V
            areturn
        end local 0 // org.apache.commons.pool.PoolableObjectFactory factory
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  factory  Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;)Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
    MethodParameters:
         Name  Flags
      factory  final

  public static <K, V> org.apache.commons.pool.KeyedPoolableObjectFactory<K, V> synchronizedPoolableFactory(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.KeyedPoolableObjectFactory keyedFactory
         0: .line 455
            new org.apache.commons.pool.PoolUtils$SynchronizedKeyedPoolableObjectFactory
            dup
            aload 0 /* keyedFactory */
            invokespecial org.apache.commons.pool.PoolUtils$SynchronizedKeyedPoolableObjectFactory.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
            areturn
        end local 0 // org.apache.commons.pool.KeyedPoolableObjectFactory keyedFactory
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  keyedFactory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;)Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
    MethodParameters:
              Name  Flags
      keyedFactory  final

  public static <T> org.apache.commons.pool.ObjectPool<T> erodingPool(org.apache.commons.pool.ObjectPool<T>);
    descriptor: (Lorg/apache/commons/pool/ObjectPool;)Lorg/apache/commons/pool/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.ObjectPool pool
         0: .line 471
            aload 0 /* pool */
            fconst_1
            invokestatic org.apache.commons.pool.PoolUtils.erodingPool:(Lorg/apache/commons/pool/ObjectPool;F)Lorg/apache/commons/pool/ObjectPool;
            areturn
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  pool  Lorg/apache/commons/pool/ObjectPool<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TT;>;)Lorg/apache/commons/pool/ObjectPool<TT;>;
    MethodParameters:
      Name  Flags
      pool  final

  public static <T> org.apache.commons.pool.ObjectPool<T> erodingPool(org.apache.commons.pool.ObjectPool<T>, float);
    descriptor: (Lorg/apache/commons/pool/ObjectPool;F)Lorg/apache/commons/pool/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.ObjectPool pool
        start local 1 // float factor
         0: .line 496
            aload 0 /* pool */
            ifnonnull 2
         1: .line 497
            new java.lang.IllegalArgumentException
            dup
            ldc "pool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 499
      StackMap locals:
      StackMap stack:
            fload 1 /* factor */
            fconst_0
            fcmpg
            ifgt 4
         3: .line 500
            new java.lang.IllegalArgumentException
            dup
            ldc "factor must be positive."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 502
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$ErodingObjectPool
            dup
            aload 0 /* pool */
            fload 1 /* factor */
            invokespecial org.apache.commons.pool.PoolUtils$ErodingObjectPool.<init>:(Lorg/apache/commons/pool/ObjectPool;F)V
            areturn
        end local 1 // float factor
        end local 0 // org.apache.commons.pool.ObjectPool pool
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    pool  Lorg/apache/commons/pool/ObjectPool<TT;>;
            0    5     1  factor  F
    Signature: <T:Ljava/lang/Object;>(Lorg/apache/commons/pool/ObjectPool<TT;>;F)Lorg/apache/commons/pool/ObjectPool<TT;>;
    MethodParameters:
        Name  Flags
      pool    final
      factor  final

  public static <K, V> org.apache.commons.pool.KeyedObjectPool<K, V> erodingPool(org.apache.commons.pool.KeyedObjectPool<K, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;)Lorg/apache/commons/pool/KeyedObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
         0: .line 521
            aload 0 /* keyedPool */
            fconst_1
            invokestatic org.apache.commons.pool.PoolUtils.erodingPool:(Lorg/apache/commons/pool/KeyedObjectPool;F)Lorg/apache/commons/pool/KeyedObjectPool;
            areturn
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;)Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final

  public static <K, V> org.apache.commons.pool.KeyedObjectPool<K, V> erodingPool(org.apache.commons.pool.KeyedObjectPool<K, V>, float);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;F)Lorg/apache/commons/pool/KeyedObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // float factor
         0: .line 548
            aload 0 /* keyedPool */
            fload 1 /* factor */
            iconst_0
            invokestatic org.apache.commons.pool.PoolUtils.erodingPool:(Lorg/apache/commons/pool/KeyedObjectPool;FZ)Lorg/apache/commons/pool/KeyedObjectPool;
            areturn
        end local 1 // float factor
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0    1     1     factor  F
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;F)Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final
      factor     final

  public static <K, V> org.apache.commons.pool.KeyedObjectPool<K, V> erodingPool(org.apache.commons.pool.KeyedObjectPool<K, V>, float, boolean);
    descriptor: (Lorg/apache/commons/pool/KeyedObjectPool;FZ)Lorg/apache/commons/pool/KeyedObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
        start local 1 // float factor
        start local 2 // boolean perKey
         0: .line 583
            aload 0 /* keyedPool */
            ifnonnull 2
         1: .line 584
            new java.lang.IllegalArgumentException
            dup
            ldc "keyedPool must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 586
      StackMap locals:
      StackMap stack:
            fload 1 /* factor */
            fconst_0
            fcmpg
            ifgt 4
         3: .line 587
            new java.lang.IllegalArgumentException
            dup
            ldc "factor must be positive."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 589
      StackMap locals:
      StackMap stack:
            iload 2 /* perKey */
            ifeq 6
         5: .line 590
            new org.apache.commons.pool.PoolUtils$ErodingPerKeyKeyedObjectPool
            dup
            aload 0 /* keyedPool */
            fload 1 /* factor */
            invokespecial org.apache.commons.pool.PoolUtils$ErodingPerKeyKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedObjectPool;F)V
            areturn
         6: .line 592
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool.PoolUtils$ErodingKeyedObjectPool
            dup
            aload 0 /* keyedPool */
            fload 1 /* factor */
            invokespecial org.apache.commons.pool.PoolUtils$ErodingKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedObjectPool;F)V
            areturn
        end local 2 // boolean perKey
        end local 1 // float factor
        end local 0 // org.apache.commons.pool.KeyedObjectPool keyedPool
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  keyedPool  Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
            0    7     1     factor  F
            0    7     2     perKey  Z
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;FZ)Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
    MethodParameters:
           Name  Flags
      keyedPool  final
      factor     final
      perKey     final

  private static synchronized java.util.Timer getMinIdleTimer();
    descriptor: ()Ljava/util/Timer;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 603
            getstatic org.apache.commons.pool.PoolUtils.MIN_IDLE_TIMER:Ljava/util/Timer;
            ifnonnull 2
         1: .line 604
            new java.util.Timer
            dup
            iconst_1
            invokespecial java.util.Timer.<init>:(Z)V
            putstatic org.apache.commons.pool.PoolUtils.MIN_IDLE_TIMER:Ljava/util/Timer;
         2: .line 606
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.pool.PoolUtils.MIN_IDLE_TIMER:Ljava/util/Timer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "PoolUtils.java"
NestMembers:
  org.apache.commons.pool.PoolUtils$CheckedKeyedObjectPool  org.apache.commons.pool.PoolUtils$CheckedObjectPool  org.apache.commons.pool.PoolUtils$ErodingFactor  org.apache.commons.pool.PoolUtils$ErodingKeyedObjectPool  org.apache.commons.pool.PoolUtils$ErodingObjectPool  org.apache.commons.pool.PoolUtils$ErodingPerKeyKeyedObjectPool  org.apache.commons.pool.PoolUtils$KeyedObjectPoolAdaptor  org.apache.commons.pool.PoolUtils$KeyedObjectPoolMinIdleTimerTask  org.apache.commons.pool.PoolUtils$KeyedPoolableObjectFactoryAdaptor  org.apache.commons.pool.PoolUtils$ObjectPoolAdaptor  org.apache.commons.pool.PoolUtils$ObjectPoolMinIdleTimerTask  org.apache.commons.pool.PoolUtils$PoolableObjectFactoryAdaptor  org.apache.commons.pool.PoolUtils$SynchronizedKeyedObjectPool  org.apache.commons.pool.PoolUtils$SynchronizedKeyedPoolableObjectFactory  org.apache.commons.pool.PoolUtils$SynchronizedObjectPool  org.apache.commons.pool.PoolUtils$SynchronizedPoolableObjectFactory
InnerClasses:
  private CheckedKeyedObjectPool = org.apache.commons.pool.PoolUtils$CheckedKeyedObjectPool of org.apache.commons.pool.PoolUtils
  private CheckedObjectPool = org.apache.commons.pool.PoolUtils$CheckedObjectPool of org.apache.commons.pool.PoolUtils
  private ErodingFactor = org.apache.commons.pool.PoolUtils$ErodingFactor of org.apache.commons.pool.PoolUtils
  private ErodingKeyedObjectPool = org.apache.commons.pool.PoolUtils$ErodingKeyedObjectPool of org.apache.commons.pool.PoolUtils
  private ErodingObjectPool = org.apache.commons.pool.PoolUtils$ErodingObjectPool of org.apache.commons.pool.PoolUtils
  private ErodingPerKeyKeyedObjectPool = org.apache.commons.pool.PoolUtils$ErodingPerKeyKeyedObjectPool of org.apache.commons.pool.PoolUtils
  private KeyedObjectPoolAdaptor = org.apache.commons.pool.PoolUtils$KeyedObjectPoolAdaptor of org.apache.commons.pool.PoolUtils
  private KeyedObjectPoolMinIdleTimerTask = org.apache.commons.pool.PoolUtils$KeyedObjectPoolMinIdleTimerTask of org.apache.commons.pool.PoolUtils
  private KeyedPoolableObjectFactoryAdaptor = org.apache.commons.pool.PoolUtils$KeyedPoolableObjectFactoryAdaptor of org.apache.commons.pool.PoolUtils
  private ObjectPoolAdaptor = org.apache.commons.pool.PoolUtils$ObjectPoolAdaptor of org.apache.commons.pool.PoolUtils
  private ObjectPoolMinIdleTimerTask = org.apache.commons.pool.PoolUtils$ObjectPoolMinIdleTimerTask of org.apache.commons.pool.PoolUtils
  private PoolableObjectFactoryAdaptor = org.apache.commons.pool.PoolUtils$PoolableObjectFactoryAdaptor of org.apache.commons.pool.PoolUtils
  private SynchronizedKeyedObjectPool = org.apache.commons.pool.PoolUtils$SynchronizedKeyedObjectPool of org.apache.commons.pool.PoolUtils
  private SynchronizedKeyedPoolableObjectFactory = org.apache.commons.pool.PoolUtils$SynchronizedKeyedPoolableObjectFactory of org.apache.commons.pool.PoolUtils
  private SynchronizedObjectPool = org.apache.commons.pool.PoolUtils$SynchronizedObjectPool of org.apache.commons.pool.PoolUtils
  private SynchronizedPoolableObjectFactory = org.apache.commons.pool.PoolUtils$SynchronizedPoolableObjectFactory of org.apache.commons.pool.PoolUtils