public class org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V> extends org.apache.commons.pool.BaseKeyedObjectPool<K, V> implements org.apache.commons.pool.KeyedObjectPool<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.pool.impl.GenericKeyedObjectPool
  super_class: org.apache.commons.pool.BaseKeyedObjectPool
{
  public static final byte WHEN_EXHAUSTED_FAIL;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final byte WHEN_EXHAUSTED_BLOCK;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte WHEN_EXHAUSTED_GROW;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int DEFAULT_MAX_IDLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int DEFAULT_MAX_ACTIVE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int DEFAULT_MAX_TOTAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final byte DEFAULT_WHEN_EXHAUSTED_ACTION;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final long DEFAULT_MAX_WAIT;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final boolean DEFAULT_TEST_ON_BORROW;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final boolean DEFAULT_TEST_ON_RETURN;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final boolean DEFAULT_TEST_WHILE_IDLE;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final long DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final int DEFAULT_NUM_TESTS_PER_EVICTION_RUN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final long DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1800000

  public static final int DEFAULT_MIN_IDLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final boolean DEFAULT_LIFO;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private int _maxIdle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private volatile int _minIdle;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private int _maxActive;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int _maxTotal;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long _maxWait;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private byte _whenExhaustedAction;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean _testOnBorrow;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean _testOnReturn;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean _testWhileIdle;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private long _timeBetweenEvictionRunsMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int _numTestsPerEvictionRun;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long _minEvictableIdleTimeMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<K, org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.ObjectQueue> _poolMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<TK;Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;>;

  private int _totalActive;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int _totalIdle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int _totalInternalProcessing;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.apache.commons.pool.KeyedPoolableObjectFactory<K, V> _factory;
    descriptor: Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;

  private org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.Evictor _evictor;
    descriptor: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Evictor;

  private org.apache.commons.pool.impl.CursorableLinkedList<K> _poolList;
    descriptor: Lorg/apache/commons/pool/impl/CursorableLinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/impl/CursorableLinkedList<TK;>;

  private org.apache.commons.pool.impl.CursorableLinkedList<org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair<V>>.Cursor _evictionCursor;
    descriptor: Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/impl/CursorableLinkedList<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>.Cursor;

  private org.apache.commons.pool.impl.CursorableLinkedList<K>.Cursor _evictionKeyCursor;
    descriptor: Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/impl/CursorableLinkedList<TK;>.Cursor;

  private boolean _lifo;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.LinkedList<org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.Latch<K, V>> _allocationQueue;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedList<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TK;TV;>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 364
            aload 0 /* this */
            aconst_null
            bipush 8
            iconst_1
            ldc -1
            bipush 8
         1: .line 365
            iconst_0
            iconst_0
            ldc -1
         2: .line 366
            iconst_3
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 367
            return
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
         0: .line 375
            aload 0 /* this */
            aload 1 /* factory */
            bipush 8
            iconst_1
            ldc -1
            bipush 8
         1: .line 376
            iconst_0
            iconst_0
            ldc -1
         2: .line 377
            iconst_3
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 378
            return
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1  factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;)V
    MethodParameters:
         Name  Flags
      factory  

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, org.apache.commons.pool.impl.GenericKeyedObjectPool$Config);
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Config;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=3, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Config config
         0: .line 387
            aload 0 /* this */
            aload 1 /* factory */
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxActive:I
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.whenExhaustedAction:B
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxWait:J
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxIdle:I
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxTotal:I
         1: .line 388
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.minIdle:I
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.testOnBorrow:Z
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.testOnReturn:Z
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.timeBetweenEvictionRunsMillis:J
         2: .line 389
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.numTestsPerEvictionRun:I
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.minEvictableIdleTimeMillis:J
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.testWhileIdle:Z
            aload 2 /* config */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.lifo:Z
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIIZZJIJZZ)V
         3: .line 390
            return
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Config config
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1  factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2   config  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Config;
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Config;)V
    MethodParameters:
         Name  Flags
      factory  
      config   

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=3, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
         0: .line 399
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iconst_1
            ldc -1
            bipush 8
         1: .line 400
            iconst_0
            iconst_0
            ldc -1
         2: .line 401
            iconst_3
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 402
            return
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1    factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2  maxActive  I
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;I)V
    MethodParameters:
           Name  Flags
      factory    
      maxActive  

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=6, args_size=5
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
         0: .line 415
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            bipush 8
            iconst_0
         1: .line 416
            iconst_0
            ldc -1
            iconst_3
         2: .line 417
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 418
            return
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1              factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2            maxActive  I
            0    4     3  whenExhaustedAction  B
            0    4     4              maxWait  J
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJ)V
    MethodParameters:
                     Name  Flags
      factory              
      maxActive            
      whenExhaustedAction  
      maxWait              

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, boolean, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=8, args_size=7
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // boolean testOnBorrow
        start local 7 // boolean testOnReturn
         0: .line 435
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            bipush 8
            iload 6 /* testOnBorrow */
            iload 7 /* testOnReturn */
         1: .line 436
            ldc -1
            iconst_3
         2: .line 437
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 438
            return
        end local 7 // boolean testOnReturn
        end local 6 // boolean testOnBorrow
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1              factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2            maxActive  I
            0    4     3  whenExhaustedAction  B
            0    4     4              maxWait  J
            0    4     6         testOnBorrow  Z
            0    4     7         testOnReturn  Z
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJZZ)V
    MethodParameters:
                     Name  Flags
      factory              
      maxActive            
      whenExhaustedAction  
      maxWait              
      testOnBorrow         
      testOnReturn         

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=7, args_size=6
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // int maxIdle
         0: .line 453
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            iload 6 /* maxIdle */
            iconst_0
            iconst_0
         1: .line 454
            ldc -1
            iconst_3
         2: .line 455
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 456
            return
        end local 6 // int maxIdle
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1              factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2            maxActive  I
            0    4     3  whenExhaustedAction  B
            0    4     4              maxWait  J
            0    4     6              maxIdle  I
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJI)V
    MethodParameters:
                     Name  Flags
      factory              
      maxActive            
      whenExhaustedAction  
      maxWait              
      maxIdle              

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, int, boolean, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=9, args_size=8
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // int maxIdle
        start local 7 // boolean testOnBorrow
        start local 8 // boolean testOnReturn
         0: .line 475
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            iload 6 /* maxIdle */
            iload 7 /* testOnBorrow */
            iload 8 /* testOnReturn */
         1: .line 476
            ldc -1
            iconst_3
         2: .line 477
            ldc 1800000
            iconst_0
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
         3: .line 478
            return
        end local 8 // boolean testOnReturn
        end local 7 // boolean testOnBorrow
        end local 6 // int maxIdle
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1              factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2            maxActive  I
            0    4     3  whenExhaustedAction  B
            0    4     4              maxWait  J
            0    4     6              maxIdle  I
            0    4     7         testOnBorrow  Z
            0    4     8         testOnReturn  Z
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJIZZ)V
    MethodParameters:
                     Name  Flags
      factory              
      maxActive            
      whenExhaustedAction  
      maxWait              
      maxIdle              
      testOnBorrow         
      testOnReturn         

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, int, boolean, boolean, long, int, long, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIZZJIJZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=16, locals=15, args_size=12
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // int maxIdle
        start local 7 // boolean testOnBorrow
        start local 8 // boolean testOnReturn
        start local 9 // long timeBetweenEvictionRunsMillis
        start local 11 // int numTestsPerEvictionRun
        start local 12 // long minEvictableIdleTimeMillis
        start local 14 // boolean testWhileIdle
         0: .line 507
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            iload 6 /* maxIdle */
            iconst_m1
         1: .line 508
            iload 7 /* testOnBorrow */
            iload 8 /* testOnReturn */
            lload 9 /* timeBetweenEvictionRunsMillis */
            iload 11 /* numTestsPerEvictionRun */
         2: .line 509
            lload 12 /* minEvictableIdleTimeMillis */
            iload 14 /* testWhileIdle */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIZZJIJZ)V
         3: .line 510
            return
        end local 14 // boolean testWhileIdle
        end local 12 // long minEvictableIdleTimeMillis
        end local 11 // int numTestsPerEvictionRun
        end local 9 // long timeBetweenEvictionRunsMillis
        end local 8 // boolean testOnReturn
        end local 7 // boolean testOnBorrow
        end local 6 // int maxIdle
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    4     0                           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1                        factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2                      maxActive  I
            0    4     3            whenExhaustedAction  B
            0    4     4                        maxWait  J
            0    4     6                        maxIdle  I
            0    4     7                   testOnBorrow  Z
            0    4     8                   testOnReturn  Z
            0    4     9  timeBetweenEvictionRunsMillis  J
            0    4    11         numTestsPerEvictionRun  I
            0    4    12     minEvictableIdleTimeMillis  J
            0    4    14                  testWhileIdle  Z
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJIZZJIJZ)V
    MethodParameters:
                               Name  Flags
      factory                        
      maxActive                      
      whenExhaustedAction            
      maxWait                        
      maxIdle                        
      testOnBorrow                   
      testOnReturn                   
      timeBetweenEvictionRunsMillis  
      numTestsPerEvictionRun         
      minEvictableIdleTimeMillis     
      testWhileIdle                  

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, int, int, boolean, boolean, long, int, long, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIZZJIJZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=17, locals=16, args_size=13
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // int maxIdle
        start local 7 // int maxTotal
        start local 8 // boolean testOnBorrow
        start local 9 // boolean testOnReturn
        start local 10 // long timeBetweenEvictionRunsMillis
        start local 12 // int numTestsPerEvictionRun
        start local 13 // long minEvictableIdleTimeMillis
        start local 15 // boolean testWhileIdle
         0: .line 540
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            iload 6 /* maxIdle */
            iload 7 /* maxTotal */
         1: .line 541
            iconst_0
            iload 8 /* testOnBorrow */
            iload 9 /* testOnReturn */
            lload 10 /* timeBetweenEvictionRunsMillis */
         2: .line 542
            iload 12 /* numTestsPerEvictionRun */
            lload 13 /* minEvictableIdleTimeMillis */
            iload 15 /* testWhileIdle */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIIZZJIJZ)V
         3: .line 543
            return
        end local 15 // boolean testWhileIdle
        end local 13 // long minEvictableIdleTimeMillis
        end local 12 // int numTestsPerEvictionRun
        end local 10 // long timeBetweenEvictionRunsMillis
        end local 9 // boolean testOnReturn
        end local 8 // boolean testOnBorrow
        end local 7 // int maxTotal
        end local 6 // int maxIdle
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    4     0                           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1                        factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2                      maxActive  I
            0    4     3            whenExhaustedAction  B
            0    4     4                        maxWait  J
            0    4     6                        maxIdle  I
            0    4     7                       maxTotal  I
            0    4     8                   testOnBorrow  Z
            0    4     9                   testOnReturn  Z
            0    4    10  timeBetweenEvictionRunsMillis  J
            0    4    12         numTestsPerEvictionRun  I
            0    4    13     minEvictableIdleTimeMillis  J
            0    4    15                  testWhileIdle  Z
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJIIZZJIJZ)V
    MethodParameters:
                               Name  Flags
      factory                        
      maxActive                      
      whenExhaustedAction            
      maxWait                        
      maxIdle                        
      maxTotal                       
      testOnBorrow                   
      testOnReturn                   
      timeBetweenEvictionRunsMillis  
      numTestsPerEvictionRun         
      minEvictableIdleTimeMillis     
      testWhileIdle                  

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, int, int, int, boolean, boolean, long, int, long, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIIZZJIJZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=17, args_size=14
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // int maxIdle
        start local 7 // int maxTotal
        start local 8 // int minIdle
        start local 9 // boolean testOnBorrow
        start local 10 // boolean testOnReturn
        start local 11 // long timeBetweenEvictionRunsMillis
        start local 13 // int numTestsPerEvictionRun
        start local 14 // long minEvictableIdleTimeMillis
        start local 16 // boolean testWhileIdle
         0: .line 575
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxActive */
            iload 3 /* whenExhaustedAction */
            lload 4 /* maxWait */
            iload 6 /* maxIdle */
            iload 7 /* maxTotal */
            iload 8 /* minIdle */
            iload 9 /* testOnBorrow */
            iload 10 /* testOnReturn */
         1: .line 576
            lload 11 /* timeBetweenEvictionRunsMillis */
            iload 13 /* numTestsPerEvictionRun */
            lload 14 /* minEvictableIdleTimeMillis */
            iload 16 /* testWhileIdle */
         2: .line 577
            iconst_1
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool.<init>:(Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIIZZJIJZZ)V
         3: .line 578
            return
        end local 16 // boolean testWhileIdle
        end local 14 // long minEvictableIdleTimeMillis
        end local 13 // int numTestsPerEvictionRun
        end local 11 // long timeBetweenEvictionRunsMillis
        end local 10 // boolean testOnReturn
        end local 9 // boolean testOnBorrow
        end local 8 // int minIdle
        end local 7 // int maxTotal
        end local 6 // int maxIdle
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    4     0                           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1                        factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0    4     2                      maxActive  I
            0    4     3            whenExhaustedAction  B
            0    4     4                        maxWait  J
            0    4     6                        maxIdle  I
            0    4     7                       maxTotal  I
            0    4     8                        minIdle  I
            0    4     9                   testOnBorrow  Z
            0    4    10                   testOnReturn  Z
            0    4    11  timeBetweenEvictionRunsMillis  J
            0    4    13         numTestsPerEvictionRun  I
            0    4    14     minEvictableIdleTimeMillis  J
            0    4    16                  testWhileIdle  Z
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJIIIZZJIJZ)V
    MethodParameters:
                               Name  Flags
      factory                        
      maxActive                      
      whenExhaustedAction            
      maxWait                        
      maxIdle                        
      maxTotal                       
      minIdle                        
      testOnBorrow                   
      testOnReturn                   
      timeBetweenEvictionRunsMillis  
      numTestsPerEvictionRun         
      minEvictableIdleTimeMillis     
      testWhileIdle                  

  public void <init>(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>, int, byte, long, int, int, int, boolean, boolean, long, int, long, boolean, );
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;IBJIIIZZJIJZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=18, args_size=15
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        start local 2 // int maxActive
        start local 3 // byte whenExhaustedAction
        start local 4 // long maxWait
        start local 6 // int maxIdle
        start local 7 // int maxTotal
        start local 8 // int minIdle
        start local 9 // boolean testOnBorrow
        start local 10 // boolean testOnReturn
        start local 11 // long timeBetweenEvictionRunsMillis
        start local 13 // int numTestsPerEvictionRun
        start local 14 // long minEvictableIdleTimeMillis
        start local 16 // boolean testWhileIdle
        start local 17 // boolean lifo
         0: .line 607
            aload 0 /* this */
            invokespecial org.apache.commons.pool.BaseKeyedObjectPool.<init>:()V
         1: .line 2571
            aload 0 /* this */
            bipush 8
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxIdle:I
         2: .line 2578
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minIdle:I
         3: .line 2585
            aload 0 /* this */
            bipush 8
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
         4: .line 2592
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
         5: .line 2610
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxWait:J
         6: .line 2624
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._whenExhaustedAction:B
         7: .line 2637
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnBorrow:Z
         8: .line 2648
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnReturn:Z
         9: .line 2661
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testWhileIdle:Z
        10: .line 2672
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._timeBetweenEvictionRunsMillis:J
        11: .line 2687
            aload 0 /* this */
            iconst_3
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
        12: .line 2701
            aload 0 /* this */
            ldc 1800000
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minEvictableIdleTimeMillis:J
        13: .line 2704
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
        14: .line 2707
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalActive:I
        15: .line 2710
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        16: .line 2717
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        17: .line 2720
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
        18: .line 2725
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictor:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
        19: .line 2731
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
        20: .line 2734
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
        21: .line 2737
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
        22: .line 2740
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
        23: .line 2747
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
        24: .line 611
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
        25: .line 612
            aload 0 /* this */
            iload 2 /* maxActive */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
        26: .line 613
            aload 0 /* this */
            iload 17 /* lifo */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
        27: .line 614
            iload 3 /* whenExhaustedAction */
            tableswitch { // 0 - 2
                    0: 28
                    1: 28
                    2: 28
              default: 30
          }
        28: .line 618
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.KeyedPoolableObjectFactory int int long int int int int int long int long int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* whenExhaustedAction */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._whenExhaustedAction:B
        29: .line 619
            goto 31
        30: .line 621
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "whenExhaustedAction "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* whenExhaustedAction */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " not recognized."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* maxWait */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxWait:J
        32: .line 624
            aload 0 /* this */
            iload 6 /* maxIdle */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxIdle:I
        33: .line 625
            aload 0 /* this */
            iload 7 /* maxTotal */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
        34: .line 626
            aload 0 /* this */
            iload 8 /* minIdle */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minIdle:I
        35: .line 627
            aload 0 /* this */
            iload 9 /* testOnBorrow */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnBorrow:Z
        36: .line 628
            aload 0 /* this */
            iload 10 /* testOnReturn */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnReturn:Z
        37: .line 629
            aload 0 /* this */
            lload 11 /* timeBetweenEvictionRunsMillis */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._timeBetweenEvictionRunsMillis:J
        38: .line 630
            aload 0 /* this */
            iload 13 /* numTestsPerEvictionRun */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
        39: .line 631
            aload 0 /* this */
            lload 14 /* minEvictableIdleTimeMillis */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minEvictableIdleTimeMillis:J
        40: .line 632
            aload 0 /* this */
            iload 16 /* testWhileIdle */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testWhileIdle:Z
        41: .line 634
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
        42: .line 635
            aload 0 /* this */
            new org.apache.commons.pool.impl.CursorableLinkedList
            dup
            invokespecial org.apache.commons.pool.impl.CursorableLinkedList.<init>:()V
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
        43: .line 637
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._timeBetweenEvictionRunsMillis:J
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.startEvictor:(J)V
        44: .line 638
            return
        end local 17 // boolean lifo
        end local 16 // boolean testWhileIdle
        end local 14 // long minEvictableIdleTimeMillis
        end local 13 // int numTestsPerEvictionRun
        end local 11 // long timeBetweenEvictionRunsMillis
        end local 10 // boolean testOnReturn
        end local 9 // boolean testOnBorrow
        end local 8 // int minIdle
        end local 7 // int maxTotal
        end local 6 // int maxIdle
        end local 4 // long maxWait
        end local 3 // byte whenExhaustedAction
        end local 2 // int maxActive
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   45     0                           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   45     1                        factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            0   45     2                      maxActive  I
            0   45     3            whenExhaustedAction  B
            0   45     4                        maxWait  J
            0   45     6                        maxIdle  I
            0   45     7                       maxTotal  I
            0   45     8                        minIdle  I
            0   45     9                   testOnBorrow  Z
            0   45    10                   testOnReturn  Z
            0   45    11  timeBetweenEvictionRunsMillis  J
            0   45    13         numTestsPerEvictionRun  I
            0   45    14     minEvictableIdleTimeMillis  J
            0   45    16                  testWhileIdle  Z
            0   45    17                           lifo  Z
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;IBJIIIZZJIJZZ)V
    MethodParameters:
                               Name  Flags
      factory                        
      maxActive                      
      whenExhaustedAction            
      maxWait                        
      maxIdle                        
      maxTotal                       
      minIdle                        
      testOnBorrow                   
      testOnReturn                   
      timeBetweenEvictionRunsMillis  
      numTestsPerEvictionRun         
      minEvictableIdleTimeMillis     
      testWhileIdle                  
      lifo                           

  public synchronized int getMaxActive();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 653
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setMaxActive(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // int maxActive
         0: .line 664
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 665
            aload 0 /* this */
            iload 1 /* maxActive */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
         2: .line 664
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
         7: .line 668
            return
        end local 1 // int maxActive
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    8     1  maxActive  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
           Name  Flags
      maxActive  

  public synchronized int getMaxTotal();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 677
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setMaxTotal(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // int maxTotal
         0: .line 693
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 694
            aload 0 /* this */
            iload 1 /* maxTotal */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
         2: .line 693
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
         7: .line 697
            return
        end local 1 // int maxTotal
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    8     1  maxTotal  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      maxTotal  

  public synchronized byte getWhenExhaustedAction();
    descriptor: ()B
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 709
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._whenExhaustedAction:B
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setWhenExhaustedAction(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // byte whenExhaustedAction
         0: .line 723
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 724
            iload 1 /* whenExhaustedAction */
            tableswitch { // 0 - 2
                    0: 2
                    1: 2
                    2: 2
              default: 4
          }
         2: .line 728
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 0 /* this */
            iload 1 /* whenExhaustedAction */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._whenExhaustedAction:B
         3: .line 729
            goto 5
         4: .line 731
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "whenExhaustedAction "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* whenExhaustedAction */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " not recognized."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 723
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        10: .line 735
            return
        end local 1 // byte whenExhaustedAction
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   11     1  whenExhaustedAction  B
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
                     Name  Flags
      whenExhaustedAction  

  public synchronized long getMaxWait();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 754
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxWait:J
            lreturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setMaxWait(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // long maxWait
         0: .line 773
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 774
            aload 0 /* this */
            lload 1 /* maxWait */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxWait:J
         2: .line 773
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool long org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
         7: .line 777
            return
        end local 1 // long maxWait
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    8     1  maxWait  J
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
         Name  Flags
      maxWait  

  public synchronized int getMaxIdle();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 786
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxIdle:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setMaxIdle(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // int maxIdle
         0: .line 804
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 805
            aload 0 /* this */
            iload 1 /* maxIdle */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxIdle:I
         2: .line 804
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
         7: .line 808
            return
        end local 1 // int maxIdle
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    8     1  maxIdle  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
         Name  Flags
      maxIdle  

  public void setMinIdle(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // int poolSize
         0: .line 822
            aload 0 /* this */
            iload 1 /* poolSize */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minIdle:I
         1: .line 823
            return
        end local 1 // int poolSize
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  poolSize  I
    MethodParameters:
          Name  Flags
      poolSize  

  public int getMinIdle();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 836
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minIdle:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public boolean getTestOnBorrow();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 851
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnBorrow:Z
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setTestOnBorrow(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // boolean testOnBorrow
         0: .line 866
            aload 0 /* this */
            iload 1 /* testOnBorrow */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnBorrow:Z
         1: .line 867
            return
        end local 1 // boolean testOnBorrow
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  testOnBorrow  Z
    MethodParameters:
              Name  Flags
      testOnBorrow  

  public boolean getTestOnReturn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 879
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnReturn:Z
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public void setTestOnReturn(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // boolean testOnReturn
         0: .line 892
            aload 0 /* this */
            iload 1 /* testOnReturn */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnReturn:Z
         1: .line 893
            return
        end local 1 // boolean testOnReturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  testOnReturn  Z
    MethodParameters:
              Name  Flags
      testOnReturn  

  public synchronized long getTimeBetweenEvictionRunsMillis();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 905
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._timeBetweenEvictionRunsMillis:J
            lreturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized void setTimeBetweenEvictionRunsMillis(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // long timeBetweenEvictionRunsMillis
         0: .line 918
            aload 0 /* this */
            lload 1 /* timeBetweenEvictionRunsMillis */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._timeBetweenEvictionRunsMillis:J
         1: .line 919
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._timeBetweenEvictionRunsMillis:J
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.startEvictor:(J)V
         2: .line 920
            return
        end local 1 // long timeBetweenEvictionRunsMillis
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    3     0                           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    3     1  timeBetweenEvictionRunsMillis  J
    MethodParameters:
                               Name  Flags
      timeBetweenEvictionRunsMillis  

  public synchronized int getNumTestsPerEvictionRun();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 931
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized void setNumTestsPerEvictionRun(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // int numTestsPerEvictionRun
         0: .line 950
            aload 0 /* this */
            iload 1 /* numTestsPerEvictionRun */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
         1: .line 951
            return
        end local 1 // int numTestsPerEvictionRun
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  numTestsPerEvictionRun  I
    MethodParameters:
                        Name  Flags
      numTestsPerEvictionRun  

  public synchronized long getMinEvictableIdleTimeMillis();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 963
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minEvictableIdleTimeMillis:J
            lreturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized void setMinEvictableIdleTimeMillis(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // long minEvictableIdleTimeMillis
         0: .line 979
            aload 0 /* this */
            lload 1 /* minEvictableIdleTimeMillis */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minEvictableIdleTimeMillis:J
         1: .line 980
            return
        end local 1 // long minEvictableIdleTimeMillis
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  minEvictableIdleTimeMillis  J
    MethodParameters:
                            Name  Flags
      minEvictableIdleTimeMillis  

  public synchronized boolean getTestWhileIdle();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 993
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testWhileIdle:Z
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized void setTestWhileIdle(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // boolean testWhileIdle
         0: .line 1007
            aload 0 /* this */
            iload 1 /* testWhileIdle */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testWhileIdle:Z
         1: .line 1008
            return
        end local 1 // boolean testWhileIdle
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  testWhileIdle  Z
    MethodParameters:
               Name  Flags
      testWhileIdle  

  public synchronized void setConfig(org.apache.commons.pool.impl.GenericKeyedObjectPool$Config);
    descriptor: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Config;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Config conf
         0: .line 1016
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxIdle:I
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setMaxIdle:(I)V
         1: .line 1017
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxActive:I
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setMaxActive:(I)V
         2: .line 1018
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxTotal:I
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setMaxTotal:(I)V
         3: .line 1019
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.minIdle:I
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setMinIdle:(I)V
         4: .line 1020
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.maxWait:J
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setMaxWait:(J)V
         5: .line 1021
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.whenExhaustedAction:B
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setWhenExhaustedAction:(B)V
         6: .line 1022
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.testOnBorrow:Z
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setTestOnBorrow:(Z)V
         7: .line 1023
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.testOnReturn:Z
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setTestOnReturn:(Z)V
         8: .line 1024
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.testWhileIdle:Z
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setTestWhileIdle:(Z)V
         9: .line 1025
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.numTestsPerEvictionRun:I
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setNumTestsPerEvictionRun:(I)V
        10: .line 1026
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.minEvictableIdleTimeMillis:J
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setMinEvictableIdleTimeMillis:(J)V
        11: .line 1027
            aload 0 /* this */
            aload 1 /* conf */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Config.timeBetweenEvictionRunsMillis:J
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.setTimeBetweenEvictionRunsMillis:(J)V
        12: .line 1028
            return
        end local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Config conf
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   13     1  conf  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Config;
    MethodParameters:
      Name  Flags
      conf  

  public synchronized boolean getLifo();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1041
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized void setLifo(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // boolean lifo
         0: .line 1055
            aload 0 /* this */
            iload 1 /* lifo */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
         1: .line 1056
            return
        end local 1 // boolean lifo
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    2     1  lifo  Z
    MethodParameters:
      Name  Flags
      lifo  

  public V borrowObject();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 1093
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* starttime */
        start local 2 // long starttime
         1: .line 1094
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;Ljava/lang/Object;)V
            astore 4 /* latch */
        start local 4 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch latch
         2: .line 1097
            aload 0 /* this */
            dup
            astore 8
            monitorenter
         3: .line 1101
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._whenExhaustedAction:B
            istore 5 /* whenExhaustedAction */
        start local 5 // byte whenExhaustedAction
         4: .line 1102
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxWait:J
            lstore 6 /* maxWait */
        start local 6 // long maxWait
         5: .line 1105
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            aload 4 /* latch */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1097
            aload 8
            monitorexit
         7: goto 10
        end local 6 // long maxWait
        end local 5 // byte whenExhaustedAction
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch top top top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         8: aload 8
            monitorexit
         9: athrow
        start local 5 // byte whenExhaustedAction
        start local 6 // long maxWait
        10: .line 1109
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        11: .line 1112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        12: .line 1113
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.assertOpen:()V
        13: .line 1112
            aload 8
            monitorexit
        14: goto 17
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        15: aload 8
            monitorexit
        16: athrow
        17: .line 1116
      StackMap locals:
      StackMap stack:
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 92
        18: .line 1118
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifne 92
        19: .line 1122
            iload 5 /* whenExhaustedAction */
            tableswitch { // 0 - 2
                    0: 28
                    1: 38
                    2: 20
              default: 89
          }
        20: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        21: .line 1128
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 24
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifne 24
        22: .line 1129
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            aload 4 /* latch */
            invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
            pop
        23: .line 1130
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementInternalProcessingCount:()V
        24: .line 1125
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 8
            monitorexit
        25: goto 92
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 8
            monitorexit
        27: athrow
        28: .line 1135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        29: .line 1138
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 30
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifeq 32
        30: .line 1139
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 8
            monitorexit
        31: goto 92
        32: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            aload 4 /* latch */
            invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
            pop
        33: .line 1135
            aload 8
            monitorexit
        34: goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: aload 8
            monitorexit
        36: athrow
        37: .line 1143
      StackMap locals:
      StackMap stack:
            new java.util.NoSuchElementException
            dup
            ldc "Pool exhausted"
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 1146
      StackMap locals:
      StackMap stack:
            aload 4 /* latch */
            dup
            astore 8
            monitorenter
        39: .line 1149
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 48
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifne 48
        40: .line 1150
            lload 6 /* maxWait */
            lconst_0
            lcmp
            ifgt 43
        41: .line 1151
            aload 4 /* latch */
            invokevirtual java.lang.Object.wait:()V
        42: .line 1152
            goto 50
        43: .line 1155
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* starttime */
            lsub
            lstore 9 /* elapsed */
        start local 9 // long elapsed
        44: .line 1156
            lload 6 /* maxWait */
            lload 9 /* elapsed */
            lsub
            lstore 11 /* waitTime */
        start local 11 // long waitTime
        45: .line 1157
            lload 11 /* waitTime */
            lconst_0
            lcmp
            ifle 50
        46: .line 1159
            aload 4 /* latch */
            lload 11 /* waitTime */
            invokevirtual java.lang.Object.wait:(J)V
        end local 11 // long waitTime
        end local 9 // long elapsed
        47: .line 1162
            goto 50
        48: .line 1163
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        49: goto 92
        50: .line 1146
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        51: goto 54
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: aload 8
            monitorexit
        53: athrow
        54: .line 1167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.isClosed:()Z
            ifeq 77
        55: .line 1168
            new java.lang.IllegalStateException
            dup
            ldc "Pool closed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        56: .line 1170
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            astore 8 /* e */
        start local 8 // java.lang.InterruptedException e
        57: .line 1171
            iconst_0
            istore 9 /* doAllocate */
        start local 9 // boolean doAllocate
        58: .line 1172
            aload 0 /* this */
            dup
            astore 10
            monitorenter
        59: .line 1174
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 62
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifne 62
        60: .line 1177
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            aload 4 /* latch */
            invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
            pop
        61: .line 1178
            goto 69
      StackMap locals: java.lang.InterruptedException int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
        62: aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 66
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifeq 66
        63: .line 1181
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        64: .line 1182
            iconst_1
            istore 9 /* doAllocate */
        65: .line 1183
            goto 69
        66: .line 1185
      StackMap locals:
      StackMap stack:
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        67: .line 1186
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementActiveCount:()V
        68: .line 1187
            aload 0 /* this */
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getkey:()Ljava/lang/Object;
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.getValue:()Ljava/lang/Object;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.returnObject:(Ljava/lang/Object;Ljava/lang/Object;)V
        69: .line 1172
      StackMap locals:
      StackMap stack:
            aload 10
            monitorexit
        70: goto 73
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: aload 10
            monitorexit
        72: athrow
        73: .line 1190
      StackMap locals:
      StackMap stack:
            iload 9 /* doAllocate */
            ifeq 75
        74: .line 1191
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        75: .line 1193
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        76: .line 1194
            aload 8 /* e */
            athrow
        end local 9 // boolean doAllocate
        end local 8 // java.lang.InterruptedException e
        77: .line 1196
      StackMap locals:
      StackMap stack:
            lload 6 /* maxWait */
            lconst_0
            lcmp
            ifle 11
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* starttime */
            lsub
            lload 6 /* maxWait */
            lcmp
            iflt 11
        78: .line 1197
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        79: .line 1200
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 82
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.mayCreate:()Z
            ifne 82
        80: .line 1201
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            aload 4 /* latch */
            invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
            pop
        81: .line 1202
            goto 84
        82: .line 1203
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 8
            monitorexit
        83: goto 92
        84: .line 1197
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        85: goto 88
      StackMap locals:
      StackMap stack: java.lang.Throwable
        86: aload 8
            monitorexit
        87: athrow
        88: .line 1206
      StackMap locals:
      StackMap stack:
            new java.util.NoSuchElementException
            dup
            ldc "Timeout waiting for idle object"
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
        89: .line 1211
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "whenExhaustedAction "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* whenExhaustedAction */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        90: .line 1212
            ldc " not recognized."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        91: .line 1211
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        92: .line 1217
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* newlyCreated */
        start local 8 // boolean newlyCreated
        93: .line 1218
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            ifnonnull 116
        94: .line 1220
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.makeObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* obj */
        start local 9 // java.lang.Object obj
        95: .line 1221
            aload 4 /* latch */
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            dup
            aload 9 /* obj */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.<init>:(Ljava/lang/Object;)V
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.setPair:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;)V
        96: .line 1222
            iconst_1
            istore 8 /* newlyCreated */
        end local 9 // java.lang.Object obj
        97: .line 1223
            goto 108
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int
      StackMap stack: java.lang.Throwable
        98: astore 10
        99: .line 1224
            iload 8 /* newlyCreated */
            ifne 107
       100: .line 1226
            aload 0 /* this */
            dup
            astore 11
            monitorenter
       101: .line 1227
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
       102: .line 1226
            aload 11
            monitorexit
       103: goto 106
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int top java.lang.Throwable org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
       104: aload 11
            monitorexit
       105: athrow
       106: .line 1230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
       107: .line 1232
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
       108: .line 1224
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int
      StackMap stack:
            iload 8 /* newlyCreated */
            ifne 116
       109: .line 1226
            aload 0 /* this */
            dup
            astore 11
            monitorenter
       110: .line 1227
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
       111: .line 1226
            aload 11
            monitorexit
       112: goto 115
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int top top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
       113: aload 11
            monitorexit
       114: athrow
       115: .line 1230
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
       116: .line 1237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.activateObject:(Ljava/lang/Object;Ljava/lang/Object;)V
       117: .line 1238
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnBorrow:Z
            ifeq 119
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.validateObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 119
       118: .line 1239
            new java.lang.Exception
            dup
            ldc "ValidateObject failed"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       119: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 9
            monitorenter
       120: .line 1242
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
       121: .line 1243
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementActiveCount:()V
       122: .line 1241
            aload 9
            monitorexit
       123: goto 126
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
       124: aload 9
            monitorexit
       125: athrow
       126: .line 1245
      StackMap locals:
      StackMap stack:
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
       127: areturn
       128: .line 1246
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* e */
        start local 9 // java.lang.Throwable e
       129: .line 1247
            aload 9 /* e */
            invokestatic org.apache.commons.pool.PoolUtils.checkRethrow:(Ljava/lang/Throwable;)V
       130: .line 1250
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPair:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
       131: .line 1251
            goto 134
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object long org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch int long int java.lang.Throwable
      StackMap stack: java.lang.Throwable
       132: astore 10 /* e2 */
        start local 10 // java.lang.Throwable e2
       133: .line 1252
            aload 10 /* e2 */
            invokestatic org.apache.commons.pool.PoolUtils.checkRethrow:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable e2
       134: .line 1255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 10
            monitorenter
       135: .line 1256
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getPool:()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
       136: .line 1257
            iload 8 /* newlyCreated */
            ifne 139
       137: .line 1258
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.reset:()V
       138: .line 1259
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            iconst_0
            aload 4 /* latch */
            invokevirtual java.util.LinkedList.add:(ILjava/lang/Object;)V
       139: .line 1255
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 10
            monitorexit
       140: goto 143
      StackMap locals:
      StackMap stack: java.lang.Throwable
       141: aload 10
            monitorexit
       142: athrow
       143: .line 1262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
       144: .line 1263
            iload 8 /* newlyCreated */
            ifeq 11
       145: .line 1264
            new java.util.NoSuchElementException
            dup
       146: .line 1265
            new java.lang.StringBuilder
            dup
            ldc "Could not create a validated object, cause: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       147: .line 1266
            aload 9 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       148: .line 1265
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       149: .line 1264
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Throwable e
        end local 8 // boolean newlyCreated
        end local 6 // long maxWait
        end local 5 // byte whenExhaustedAction
        end local 4 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch latch
        end local 2 // long starttime
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  150     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0  150     1                  key  TK;
            1  150     2            starttime  J
            2  150     4                latch  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TK;TV;>;
            4    8     5  whenExhaustedAction  B
           10  150     5  whenExhaustedAction  B
            5    8     6              maxWait  J
           10  150     6              maxWait  J
           44   47     9              elapsed  J
           45   47    11             waitTime  J
           57   77     8                    e  Ljava/lang/InterruptedException;
           58   77     9           doAllocate  Z
           93  150     8         newlyCreated  Z
           95   97     9                  obj  TV;
          129  150     9                    e  Ljava/lang/Throwable;
          133  134    10                   e2  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     7       8  any
           8     9       8  any
          12    14      15  any
          15    16      15  any
          21    25      26  any
          26    27      26  any
          29    31      35  any
          32    34      35  any
          35    36      35  any
          39    49      52  any
          50    51      52  any
          52    53      52  any
          38    49      56  Class java.lang.InterruptedException
          50    56      56  Class java.lang.InterruptedException
          59    70      71  any
          71    72      71  any
          79    83      86  any
          84    85      86  any
          86    87      86  any
          94    98      98  any
         101   103     104  any
         104   105     104  any
         110   112     113  any
         113   114     113  any
         120   123     124  any
         124   125     124  any
         116   127     128  Class java.lang.Throwable
         130   131     132  Class java.lang.Throwable
         135   140     141  any
         141   142     141  any
    Exceptions:
      throws java.lang.Exception
    Signature: (TK;)TV;
    MethodParameters:
      Name  Flags
      key   

  private void allocate();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1282
            iconst_0
            istore 1 /* clearOldest */
        start local 1 // boolean clearOldest
         1: .line 1284
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1285
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.isClosed:()Z
            ifeq 4
            aload 2
            monitorexit
         3: return
         4: .line 1287
      StackMap locals: int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 3 /* allocationQueueIter */
        start local 3 // java.util.Iterator allocationQueueIter
         5: .line 1289
            goto 43
         6: .line 1291
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* allocationQueueIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
            astore 4 /* latch */
        start local 4 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch latch
         7: .line 1292
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getkey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 5 /* pool */
        start local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         8: .line 1293
            aload 5 /* pool */
            ifnonnull 12
         9: .line 1294
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;)V
            astore 5 /* pool */
        10: .line 1295
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getkey:()Ljava/lang/Object;
            aload 5 /* pool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1296
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 4 /* latch */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.getkey:()Ljava/lang/Object;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1298
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 4 /* latch */
            aload 5 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.setPool:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;)V
        13: .line 1299
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifne 26
        14: .line 1300
            aload 3 /* allocationQueueIter */
            invokeinterface java.util.Iterator.remove:()V
        15: .line 1301
            aload 4 /* latch */
        16: .line 1302
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.removeFirst:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
        17: .line 1301
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.setPair:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;)V
        18: .line 1303
            aload 5 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementInternalProcessingCount:()V
        19: .line 1304
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        20: .line 1305
            aload 4 /* latch */
            dup
            astore 6
            monitorenter
        21: .line 1306
            aload 4 /* latch */
            invokevirtual java.lang.Object.notify:()V
        22: .line 1305
            aload 6
            monitorexit
        23: goto 43
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool int org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Iterator org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
      StackMap stack: java.lang.Throwable
        24: aload 6
            monitorexit
        25: athrow
        26: .line 1314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
            ifle 30
        27: .line 1315
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalActive:I
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iadd
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
            iadd
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
            if_icmplt 30
        28: .line 1316
            iconst_1
            istore 1 /* clearOldest */
        29: .line 1317
            goto 44
        30: .line 1321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
            iflt 31
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            iadd
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
            if_icmpge 41
        31: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
            iflt 32
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalActive:I
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iadd
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
            iadd
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxTotal:I
            if_icmpge 41
        32: .line 1324
      StackMap locals:
      StackMap stack:
            aload 3 /* allocationQueueIter */
            invokeinterface java.util.Iterator.remove:()V
        33: .line 1325
            aload 4 /* latch */
            iconst_1
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.setMayCreate:(Z)V
        34: .line 1326
            aload 5 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementInternalProcessingCount:()V
        35: .line 1327
            aload 4 /* latch */
            dup
            astore 6
            monitorenter
        36: .line 1328
            aload 4 /* latch */
            invokevirtual java.lang.Object.notify:()V
        37: .line 1327
            aload 6
            monitorexit
        38: goto 43
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool int org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Iterator org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
      StackMap stack: java.lang.Throwable
        39: aload 6
            monitorexit
        40: athrow
        41: .line 1337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxActive:I
            ifge 43
        42: .line 1338
            goto 44
        end local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 4 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch latch
        43: .line 1289
      StackMap locals:
      StackMap stack:
            aload 3 /* allocationQueueIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // java.util.Iterator allocationQueueIter
        44: .line 1284
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        45: goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: aload 2
            monitorexit
        47: athrow
        48: .line 1343
      StackMap locals:
      StackMap stack:
            iload 1 /* clearOldest */
            ifeq 50
        49: .line 1352
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.clearOldest:()V
        50: .line 1354
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean clearOldest
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   51     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            1   51     1          clearOldest  Z
            5   44     3  allocationQueueIter  Ljava/util/Iterator<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TK;TV;>;>;
            7   43     4                latch  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TK;TV;>;
            8   43     5                 pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
      Exception table:
        from    to  target  type
          21    23      24  any
          24    25      24  any
          36    38      39  any
          39    40      39  any
           2     3      46  any
           4    45      46  any
          46    47      46  any

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1373
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* toDestroy */
        start local 1 // java.util.Map toDestroy
         1: .line 1374
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1375
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         3: goto 15
         4: .line 1376
      StackMap locals: java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* key */
        start local 4 // java.lang.Object key
         5: .line 1377
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 4 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 5 /* pool */
        start local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         6: .line 1380
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* objects */
        start local 6 // java.util.List objects
         7: .line 1381
            aload 6 /* objects */
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 1382
            aload 1 /* toDestroy */
            aload 4 /* key */
            aload 6 /* objects */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1383
            aload 3 /* it */
            invokeinterface java.util.Iterator.remove:()V
        10: .line 1384
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 4 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        11: .line 1385
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        12: .line 1386
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        13: .line 1387
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            iadd
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        14: .line 1388
            aload 5 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.clear:()V
        end local 6 // java.util.List objects
        end local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 4 // java.lang.Object key
        15: .line 1375
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator it
        16: .line 1374
            aload 2
            monitorexit
        17: goto 20
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        18: aload 2
            monitorexit
        19: athrow
        20: .line 1391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* toDestroy */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.destroy:(Ljava/util/Map;Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
        21: .line 1392
            return
        end local 1 // java.util.Map toDestroy
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            1   22     1  toDestroy  Ljava/util/Map<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;
            3   16     3         it  Ljava/util/Iterator<TK;>;
            5   15     4        key  TK;
            6   15     5       pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            7   15     6    objects  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
      Exception table:
        from    to  target  type
           2    17      18  any
          18    19      18  any

  public void clearOldest();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1402
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* toDestroy */
        start local 1 // java.util.Map toDestroy
         1: .line 1405
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         2: .line 1406
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         3: .line 1407
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* keyiter */
        start local 4 // java.util.Iterator keyiter
         4: goto 11
         5: .line 1408
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Iterator
      StackMap stack:
            aload 4 /* keyiter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* key */
        start local 5 // java.lang.Object key
         6: .line 1409
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            astore 6 /* list */
        start local 6 // java.util.List list
         7: .line 1410
            aload 6 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* it */
        start local 7 // java.util.Iterator it
         8: goto 10
         9: .line 1414
      StackMap locals: java.lang.Object java.util.List java.util.Iterator
      StackMap stack:
            aload 2 /* map */
            aload 7 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            aload 5 /* key */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1410
      StackMap locals:
      StackMap stack:
            aload 7 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 7 // java.util.Iterator it
        end local 6 // java.util.List list
        end local 5 // java.lang.Object key
        11: .line 1407
      StackMap locals:
      StackMap stack:
            aload 4 /* keyiter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Iterator keyiter
        12: .line 1419
            aload 2 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 4 /* setPairKeys */
        start local 4 // java.util.Set setPairKeys
        13: .line 1420
            aload 2 /* map */
            invokeinterface java.util.Map.size:()I
            i2d
            ldc 0.15
            dmul
            d2i
            iconst_1
            iadd
            istore 5 /* itemsToRemove */
        start local 5 // int itemsToRemove
        14: .line 1422
            aload 4 /* setPairKeys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        15: .line 1423
            goto 31
        16: .line 1424
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Set int java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
        17: .line 1428
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 8 /* key */
        start local 8 // java.lang.Object key
        18: .line 1429
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            astore 9 /* pairTimeStamp */
        start local 9 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pairTimeStamp
        19: .line 1430
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 8 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 10 /* objectQueue */
        start local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        20: .line 1431
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            astore 11 /* list */
        start local 11 // java.util.List list
        21: .line 1432
            aload 11 /* list */
            aload 9 /* pairTimeStamp */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        22: .line 1434
            aload 1 /* toDestroy */
            aload 8 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 1435
            aload 1 /* toDestroy */
            aload 8 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            aload 9 /* pairTimeStamp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 1436
            goto 28
        25: .line 1437
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Set int java.util.Iterator java.util.Map$Entry java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* listForKey */
        start local 12 // java.util.List listForKey
        26: .line 1438
            aload 12 /* listForKey */
            aload 9 /* pairTimeStamp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        27: .line 1439
            aload 1 /* toDestroy */
            aload 8 /* key */
            aload 12 /* listForKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // java.util.List listForKey
        28: .line 1441
      StackMap locals:
      StackMap stack:
            aload 10 /* objectQueue */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementInternalProcessingCount:()V
        29: .line 1442
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        30: .line 1443
            iinc 5 /* itemsToRemove */ -1
        end local 11 // java.util.List list
        end local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        end local 9 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pairTimeStamp
        end local 8 // java.lang.Object key
        end local 7 // java.util.Map$Entry entry
        31: .line 1423
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Set int java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 32
            iload 5 /* itemsToRemove */
            ifgt 16
        end local 6 // java.util.Iterator iter
        end local 5 // int itemsToRemove
        end local 4 // java.util.Set setPairKeys
        32: .line 1406
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        33: goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: aload 3
            monitorexit
        35: athrow
        36: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* toDestroy */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.destroy:(Ljava/util/Map;Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
        37: .line 1448
            return
        end local 2 // java.util.Map map
        end local 1 // java.util.Map toDestroy
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            1   38     1      toDestroy  Ljava/util/Map<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;
            2   38     2            map  Ljava/util/Map<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;TK;>;
            4   12     4        keyiter  Ljava/util/Iterator<TK;>;
            6   11     5            key  TK;
            7   11     6           list  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
            8   11     7             it  Ljava/util/Iterator<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
           13   32     4    setPairKeys  Ljava/util/Set<Ljava/util/Map$Entry<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;TK;>;>;
           14   32     5  itemsToRemove  I
           15   32     6           iter  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;TK;>;>;
           17   31     7          entry  Ljava/util/Map$Entry<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;TK;>;
           18   31     8            key  TK;
           19   31     9  pairTimeStamp  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;
           20   31    10    objectQueue  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           21   31    11           list  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
           26   28    12     listForKey  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
      Exception table:
        from    to  target  type
           3    33      34  any
          34    35      34  any

  public void clear();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 1457
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* toDestroy */
        start local 2 // java.util.Map toDestroy
         1: .line 1460
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         2: .line 1461
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 3 /* pool */
        start local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         3: .line 1462
            aload 3 /* pool */
            ifnonnull 6
         4: .line 1463
            aload 4
            monitorexit
         5: return
         6: .line 1465
      StackMap locals: java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
         7: .line 1469
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* objects */
        start local 5 // java.util.List objects
         8: .line 1470
            aload 5 /* objects */
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 1471
            aload 2 /* toDestroy */
            aload 1 /* key */
            aload 5 /* objects */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1472
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        11: .line 1473
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        12: .line 1474
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            iadd
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        13: .line 1475
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.clear:()V
        end local 5 // java.util.List objects
        14: .line 1460
            aload 4
            monitorexit
        15: goto 18
        end local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.util.Map top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        16: aload 4
            monitorexit
        17: athrow
        start local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        18: .line 1477
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.util.Map org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 0 /* this */
            aload 2 /* toDestroy */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.destroy:(Ljava/util/Map;Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
        19: .line 1478
            return
        end local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 2 // java.util.Map toDestroy
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   20     1        key  TK;
            1   20     2  toDestroy  Ljava/util/Map<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;
            3   16     3       pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           18   20     3       pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            8   14     5    objects  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
      Exception table:
        from    to  target  type
           2     5      16  any
           6    15      16  any
          16    17      16  any
    Signature: (TK;)V
    MethodParameters:
      Name  Flags
      key   

  private void destroy(java.util.Map<K, java.util.List<org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair<V>>>, org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>);
    descriptor: (Ljava/util/Map;Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.util.Map m
        start local 2 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
         0: .line 1488
            aload 1 /* m */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* entries */
        start local 3 // java.util.Iterator entries
         1: goto 66
         2: .line 1489
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         3: .line 1490
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 5 /* key */
        start local 5 // java.lang.Object key
         4: .line 1491
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* c */
        start local 6 // java.util.List c
         5: .line 1492
            aload 6 /* c */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* it */
        start local 7 // java.util.Iterator it
         6: goto 65
         7: .line 1494
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Iterator java.util.Map$Entry java.lang.Object java.util.List java.util.Iterator
      StackMap stack:
            aload 2 /* factory */
         8: .line 1495
            aload 5 /* key */
            aload 7 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
         9: .line 1494
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 1496
            goto 48
      StackMap locals:
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 1499
            aload 0 /* this */
            dup
            astore 9
            monitorenter
        13: .line 1501
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
        14: .line 1500
            astore 10 /* objectQueue */
        start local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        15: .line 1502
            aload 10 /* objectQueue */
            ifnull 23
        16: .line 1503
            aload 10 /* objectQueue */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        17: .line 1504
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            ifne 24
        18: .line 1505
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            ifne 24
        19: .line 1506
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifeq 24
        20: .line 1507
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 1508
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 5 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        22: .line 1510
            goto 24
        23: .line 1511
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Iterator java.util.Map$Entry java.lang.Object java.util.List java.util.Iterator top org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        end local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        24: .line 1499
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        25: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 9
            monitorexit
        27: athrow
        28: .line 1514
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Iterator java.util.Map$Entry java.lang.Object java.util.List java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
            goto 65
        29: .line 1498
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        30: .line 1499
            aload 0 /* this */
            dup
            astore 9
            monitorenter
        31: .line 1501
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
        32: .line 1500
            astore 10 /* objectQueue */
        start local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        33: .line 1502
            aload 10 /* objectQueue */
            ifnull 41
        34: .line 1503
            aload 10 /* objectQueue */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        35: .line 1504
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            ifne 42
        36: .line 1505
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            ifne 42
        37: .line 1506
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifeq 42
        38: .line 1507
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 1508
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 5 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        40: .line 1510
            goto 42
        41: .line 1511
      StackMap locals: java.lang.Throwable org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        end local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        42: .line 1499
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        43: goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: aload 9
            monitorexit
        45: athrow
        46: .line 1514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        47: .line 1515
            aload 8
            athrow
        48: .line 1499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 9
            monitorenter
        49: .line 1501
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
        50: .line 1500
            astore 10 /* objectQueue */
        start local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        51: .line 1502
            aload 10 /* objectQueue */
            ifnull 59
        52: .line 1503
            aload 10 /* objectQueue */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        53: .line 1504
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            ifne 60
        54: .line 1505
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            ifne 60
        55: .line 1506
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifeq 60
        56: .line 1507
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        57: .line 1508
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 5 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        58: .line 1510
            goto 60
        59: .line 1511
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Iterator java.util.Map$Entry java.lang.Object java.util.List java.util.Iterator top org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        end local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        60: .line 1499
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        61: goto 64
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: aload 9
            monitorexit
        63: athrow
        64: .line 1514
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Iterator java.util.Map$Entry java.lang.Object java.util.List java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        65: .line 1492
      StackMap locals:
      StackMap stack:
            aload 7 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 7 // java.util.Iterator it
        end local 6 // java.util.List c
        end local 5 // java.lang.Object key
        end local 4 // java.util.Map$Entry entry
        66: .line 1488
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Iterator
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 3 // java.util.Iterator entries
        67: .line 1519
            return
        end local 2 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 1 // java.util.Map m
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   68     0         this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   68     1            m  Ljava/util/Map<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;
            0   68     2      factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            1   67     3      entries  Ljava/util/Iterator<Ljava/util/Map$Entry<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;>;
            3   66     4        entry  Ljava/util/Map$Entry<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;
            4   66     5          key  TK;
            5   66     6            c  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
            6   66     7           it  Ljava/util/Iterator<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
           15   24    10  objectQueue  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           33   42    10  objectQueue  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           51   60    10  objectQueue  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
      Exception table:
        from    to  target  type
           7    10      11  Class java.lang.Exception
          13    25      26  any
          26    27      26  any
           7    12      29  any
          31    43      44  any
          44    45      44  any
          49    61      62  any
          62    63      62  any
    Signature: (Ljava/util/Map<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;)V
    MethodParameters:
         Name  Flags
      m        
      factory  

  public synchronized int getNumActive();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1528
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalActive:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized int getNumIdle();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1538
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  public synchronized int getNumActive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 1550
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 2 /* pool */
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         1: .line 1551
            aload 2 /* pool */
            ifnull 2
            aload 2 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            goto 3
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1   key  Ljava/lang/Object;
            1    4     2  pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
    MethodParameters:
      Name  Flags
      key   

  public synchronized int getNumIdle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 1562
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 2 /* pool */
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         1: .line 1563
            aload 2 /* pool */
            ifnull 2
            aload 2 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            goto 3
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    4     1   key  Ljava/lang/Object;
            1    4     2  pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
    MethodParameters:
      Name  Flags
      key   

  public void returnObject(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object obj
         0: .line 1587
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* obj */
            iconst_1
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.addObjectToPool:(Ljava/lang/Object;Ljava/lang/Object;Z)V
         1: .line 1588
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: pop
         3: .line 1589
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            ifnull 21
         4: .line 1591
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 2 /* obj */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 1592
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         6: pop
         7: .line 1598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 3 /* pool */
        start local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         8: .line 1599
            aload 3 /* pool */
            ifnull 21
         9: .line 1600
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        10: .line 1601
            aload 3 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementActiveCount:()V
        11: .line 1602
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifeq 16
        12: .line 1603
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            ifne 16
        13: .line 1604
            aload 3 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            ifne 16
        14: .line 1605
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1606
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        16: .line 1600
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 4
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 4
            monitorexit
        19: athrow
        20: .line 1609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        end local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        21: .line 1613
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   22     1   key  TK;
            0   22     2   obj  TV;
            8   21     3  pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
           4     5       6  Class java.lang.Exception
          10    17      18  any
          18    19      18  any
    Exceptions:
      throws java.lang.Exception
    Signature: (TK;TV;)V
    MethodParameters:
      Name  Flags
      key   
      obj   

  private void addObjectToPool(K, V, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object obj
        start local 3 // boolean decrementNumActive
         0: .line 1633
            iconst_1
            istore 4 /* success */
        start local 4 // boolean success
         1: .line 1634
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testOnReturn:Z
            ifeq 4
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 2 /* obj */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.validateObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
         2: .line 1635
            iconst_0
            istore 4 /* success */
         3: .line 1636
            goto 5
         4: .line 1637
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 2 /* obj */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.passivateObject:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 1640
      StackMap locals:
      StackMap stack:
            iload 4 /* success */
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* shouldDestroy */
        start local 5 // boolean shouldDestroy
         8: .line 1645
            iconst_0
            istore 7 /* doAllocate */
        start local 7 // boolean doAllocate
         9: .line 1646
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        10: .line 1648
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 6 /* pool */
        start local 6 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        11: .line 1650
            aload 6 /* pool */
            ifnonnull 15
        12: .line 1651
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;)V
            astore 6 /* pool */
        13: .line 1652
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            aload 6 /* pool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1653
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1655
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object int int int org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.isClosed:()Z
            ifeq 18
        16: .line 1656
            iconst_1
            istore 5 /* shouldDestroy */
        17: .line 1657
            goto 30
        18: .line 1660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxIdle:I
            iflt 21
            aload 6 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._maxIdle:I
            if_icmplt 21
        19: .line 1661
            iconst_1
            istore 5 /* shouldDestroy */
        20: .line 1662
            goto 30
      StackMap locals:
      StackMap stack:
        21: iload 4 /* success */
            ifeq 30
        22: .line 1665
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifeq 25
        23: .line 1666
            aload 6 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            dup
            aload 2 /* obj */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.<init>:(Ljava/lang/Object;)V
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.addFirst:(Ljava/lang/Object;)Z
            pop
        24: .line 1667
            goto 26
        25: .line 1668
      StackMap locals:
      StackMap stack:
            aload 6 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            dup
            aload 2 /* obj */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.<init>:(Ljava/lang/Object;)V
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.addLast:(Ljava/lang/Object;)Z
            pop
        26: .line 1670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iconst_1
            iadd
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        27: .line 1671
            iload 3 /* decrementNumActive */
            ifeq 29
        28: .line 1672
            aload 6 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementActiveCount:()V
        29: .line 1674
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* doAllocate */
        30: .line 1646
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        31: goto 34
        end local 6 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object int int int top int org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        32: aload 8
            monitorexit
        33: athrow
        start local 6 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        34: .line 1678
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object int int int org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue int
      StackMap stack:
            iload 7 /* doAllocate */
            ifeq 36
        35: .line 1679
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        36: .line 1683
      StackMap locals:
      StackMap stack:
            iload 5 /* shouldDestroy */
            ifeq 53
        37: .line 1685
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 2 /* obj */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
        38: .line 1686
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Exception
        39: pop
        40: .line 1690
      StackMap locals:
      StackMap stack:
            iload 3 /* decrementNumActive */
            ifeq 53
        41: .line 1691
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        42: .line 1692
            aload 6 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementActiveCount:()V
        43: .line 1693
            aload 6 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifeq 48
        44: .line 1694
            aload 6 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            ifne 48
        45: .line 1695
            aload 6 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            ifne 48
        46: .line 1696
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 1697
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        48: .line 1691
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 8
            monitorexit
        49: goto 52
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: aload 8
            monitorexit
        51: athrow
        52: .line 1700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        53: .line 1703
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean doAllocate
        end local 6 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 5 // boolean shouldDestroy
        end local 4 // boolean success
        end local 3 // boolean decrementNumActive
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   54     0                this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   54     1                 key  TK;
            0   54     2                 obj  TV;
            0   54     3  decrementNumActive  Z
            1   54     4             success  Z
            8   54     5       shouldDestroy  Z
           11   32     6                pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           34   54     6                pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            9   54     7          doAllocate  Z
      Exception table:
        from    to  target  type
          10    31      32  any
          32    33      32  any
          37    38      39  Class java.lang.Exception
          42    49      50  any
          50    51      50  any
    Exceptions:
      throws java.lang.Exception
    Signature: (TK;TV;Z)V
    MethodParameters:
                    Name  Flags
      key                 
      obj                 
      decrementNumActive  

  public void invalidateObject(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object obj
         0: .line 1717
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 2 /* obj */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 1718
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3
         3: .line 1719
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         4: .line 1720
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 5 /* pool */
        start local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         5: .line 1721
            aload 5 /* pool */
            ifnonnull 9
         6: .line 1722
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;)V
            astore 5 /* pool */
         7: .line 1723
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            aload 5 /* pool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1724
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1726
      StackMap locals: java.lang.Throwable org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 5 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementActiveCount:()V
        end local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        10: .line 1719
            aload 4
            monitorexit
        11: goto 14
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object java.lang.Throwable org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        12: aload 4
            monitorexit
        13: athrow
        14: .line 1728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        15: .line 1729
            aload 3
            athrow
        16: .line 1719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        17: .line 1720
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 5 /* pool */
        start local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        18: .line 1721
            aload 5 /* pool */
            ifnonnull 22
        19: .line 1722
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;)V
            astore 5 /* pool */
        20: .line 1723
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            aload 5 /* pool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 1724
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 1726
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object top org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 5 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementActiveCount:()V
        end local 5 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        23: .line 1719
            aload 4
            monitorexit
        24: goto 27
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        25: aload 4
            monitorexit
        26: athrow
        27: .line 1728
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        28: .line 1730
            return
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   29     1   key  TK;
            0   29     2   obj  TV;
            5   10     5  pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           18   23     5  pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
      Exception table:
        from    to  target  type
           0     2       2  any
           4    11      12  any
          12    13      12  any
          17    24      25  any
          25    26      25  any
    Exceptions:
      throws java.lang.Exception
    Signature: (TK;TV;)V
    MethodParameters:
      Name  Flags
      key   
      obj   

  public void addObject();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 1744
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.assertOpen:()V
         1: .line 1745
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            ifnonnull 3
         2: .line 1746
            new java.lang.IllegalStateException
            dup
            ldc "Cannot add objects without a factory."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.makeObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         4: .line 1750
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.assertOpen:()V
         5: .line 1751
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* obj */
            iconst_0
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.addObjectToPool:(Ljava/lang/Object;Ljava/lang/Object;Z)V
         6: .line 1752
            goto 12
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object
      StackMap stack: java.lang.IllegalStateException
         7: astore 3 /* ex */
        start local 3 // java.lang.IllegalStateException ex
         8: .line 1754
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 2 /* obj */
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 1755
            goto 11
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object java.lang.Object java.lang.IllegalStateException
      StackMap stack: java.lang.Exception
        10: pop
        11: .line 1758
      StackMap locals:
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.IllegalStateException ex
        12: .line 1760
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   13     1   key  TK;
            4   13     2   obj  TV;
            8   12     3    ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.IllegalStateException
           8     9      10  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (TK;)V
    MethodParameters:
      Name  Flags
      key   

  public synchronized void preparePool(K, );
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
        start local 2 // boolean populateImmediately
         0: .line 1775
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 3 /* pool */
        start local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         1: .line 1776
            aload 3 /* pool */
            ifnonnull 5
         2: .line 1777
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;)V
            astore 3 /* pool */
         3: .line 1778
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            aload 3 /* pool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1779
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1782
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            iload 2 /* populateImmediately */
            ifeq 9
         6: .line 1785
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.ensureMinIdle:(Ljava/lang/Object;)V
         7: .line 1786
            goto 9
         8: .line 1787
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         9: .line 1791
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 2 // boolean populateImmediately
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   10     1                  key  TK;
            0   10     2  populateImmediately  Z
            1   10     3                 pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception
    Signature: (TK;Z)V
    MethodParameters:
                     Name  Flags
      key                  
      populateImmediately  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1805
            aload 0 /* this */
            invokespecial org.apache.commons.pool.BaseKeyedObjectPool.close:()V
         1: .line 1806
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 1807
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.clear:()V
         3: .line 1808
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 6
         4: .line 1809
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.close:()V
         5: .line 1810
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
         6: .line 1812
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 9
         7: .line 1813
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.close:()V
         8: .line 1814
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
         9: .line 1816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc -1
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.startEvictor:(J)V
        10: .line 1818
            goto 18
        11: .line 1819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
            astore 2 /* l */
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch l
        12: .line 1821
            aload 2 /* l */
            dup
            astore 3
            monitorenter
        13: .line 1823
            aload 2 /* l */
            invokevirtual java.lang.Object.notify:()V
        14: .line 1821
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch l
        18: .line 1818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._allocationQueue:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ifgt 11
        19: .line 1806
            aload 1
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 1
            monitorexit
        22: athrow
        23: .line 1827
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
           12   18     2     l  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TK;TV;>;
      Exception table:
        from    to  target  type
          13    15      16  any
          16    17      16  any
           2    20      21  any
          21    22      21  any
    Exceptions:
      throws java.lang.Exception

  public void setFactory(org.apache.commons.pool.KeyedPoolableObjectFactory<K, V>);
    descriptor: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
         0: .line 1843
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* toDestroy */
        start local 2 // java.util.Map toDestroy
         1: .line 1844
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            astore 3 /* oldFactory */
        start local 3 // org.apache.commons.pool.KeyedPoolableObjectFactory oldFactory
         2: .line 1845
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         3: .line 1846
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.assertOpen:()V
         4: .line 1847
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getNumActive:()I
            ifle 6
         5: .line 1848
            new java.lang.IllegalStateException
            dup
            ldc "Objects are already active"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1850
      StackMap locals: java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
         7: goto 20
         8: .line 1851
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* key */
        start local 6 // java.lang.Object key
         9: .line 1852
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 6 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 7 /* pool */
        start local 7 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        10: .line 1853
            aload 7 /* pool */
            ifnull 20
        11: .line 1856
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* objects */
        start local 8 // java.util.List objects
        12: .line 1857
            aload 8 /* objects */
            aload 7 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        13: .line 1858
            aload 2 /* toDestroy */
            aload 6 /* key */
            aload 8 /* objects */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1859
            aload 5 /* it */
            invokeinterface java.util.Iterator.remove:()V
        15: .line 1860
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 6 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        16: .line 1861
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            aload 7 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        17: .line 1862
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        18: .line 1863
            aload 7 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            iadd
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
        19: .line 1864
            aload 7 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.clear:()V
        end local 8 // java.util.List objects
        end local 7 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 6 // java.lang.Object key
        20: .line 1850
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 5 // java.util.Iterator it
        21: .line 1867
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
        22: .line 1845
            aload 4
            monitorexit
        23: goto 26
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.KeyedPoolableObjectFactory java.util.Map org.apache.commons.pool.KeyedPoolableObjectFactory org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        24: aload 4
            monitorexit
        25: athrow
        26: .line 1870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* toDestroy */
            aload 3 /* oldFactory */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.destroy:(Ljava/util/Map;Lorg/apache/commons/pool/KeyedPoolableObjectFactory;)V
        27: .line 1871
            return
        end local 3 // org.apache.commons.pool.KeyedPoolableObjectFactory oldFactory
        end local 2 // java.util.Map toDestroy
        end local 1 // org.apache.commons.pool.KeyedPoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   28     1     factory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            1   28     2   toDestroy  Ljava/util/Map<TK;Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;>;
            2   28     3  oldFactory  Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;
            7   21     5          it  Ljava/util/Iterator<TK;>;
            9   20     6         key  TK;
           10   20     7        pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           12   20     8     objects  Ljava/util/List<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
      Exception table:
        from    to  target  type
           3    23      24  any
          24    25      24  any
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: (Lorg/apache/commons/pool/KeyedPoolableObjectFactory<TK;TV;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      factory  

  public void evict();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 1888
            aconst_null
            astore 1 /* key */
        start local 1 // java.lang.Object key
         1: .line 1892
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         2: .line 1896
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._testWhileIdle:Z
            istore 2 /* testWhileIdle */
        start local 2 // boolean testWhileIdle
         3: .line 1897
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minEvictableIdleTimeMillis:J
            lstore 3 /* minEvictableIdleTimeMillis */
        start local 3 // long minEvictableIdleTimeMillis
         4: .line 1900
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 7
         5: .line 1901
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            getfield org.apache.commons.pool.impl.CursorableLinkedList$Cursor._lastReturned:Lorg/apache/commons/pool/impl/CursorableLinkedList$Listable;
            ifnull 7
         6: .line 1902
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            getfield org.apache.commons.pool.impl.CursorableLinkedList$Cursor._lastReturned:Lorg/apache/commons/pool/impl/CursorableLinkedList$Listable;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Listable.value:()Ljava/lang/Object;
            astore 1 /* key */
         7: .line 1892
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object int long org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 5
            monitorexit
         8: goto 11
        end local 3 // long minEvictableIdleTimeMillis
        end local 2 // boolean testWhileIdle
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object top top top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         9: aload 5
            monitorexit
        10: athrow
        start local 2 // boolean testWhileIdle
        start local 3 // long minEvictableIdleTimeMillis
        11: .line 1906
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object int long
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getNumTests:()I
            istore 6 /* m */
        start local 6 // int m
        13: goto 106
        14: .line 1908
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        15: .line 1910
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            ifnull 16
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifne 18
        16: .line 1911
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object int long int int top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack:
            aload 8
            monitorexit
        17: goto 105
        18: .line 1915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnonnull 21
        19: .line 1916
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionKeyCursor:()V
        20: .line 1917
            aconst_null
            astore 1 /* key */
        21: .line 1921
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnonnull 31
        22: .line 1923
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasNext:()Z
            ifeq 26
        23: .line 1924
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.next:()Ljava/lang/Object;
            astore 1 /* key */
        24: .line 1925
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionObjectCursor:(Ljava/lang/Object;)V
        25: .line 1926
            goto 31
        26: .line 1928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionKeyCursor:()V
        27: .line 1929
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 31
        28: .line 1930
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasNext:()Z
            ifeq 31
        29: .line 1931
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.next:()Ljava/lang/Object;
            astore 1 /* key */
        30: .line 1932
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionObjectCursor:(Ljava/lang/Object;)V
        31: .line 1938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnonnull 34
        32: .line 1939
            aload 8
            monitorexit
        33: goto 105
        34: .line 1944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifeq 35
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasPrevious:()Z
            ifeq 36
        35: .line 1945
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifne 46
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasNext:()Z
            ifne 46
        36: .line 1946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 46
        37: .line 1947
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasNext:()Z
            ifeq 41
        38: .line 1948
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.next:()Ljava/lang/Object;
            astore 1 /* key */
        39: .line 1949
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionObjectCursor:(Ljava/lang/Object;)V
        40: .line 1950
            goto 46
        41: .line 1951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionKeyCursor:()V
        42: .line 1952
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 46
        43: .line 1953
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasNext:()Z
            ifeq 46
        44: .line 1954
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.next:()Ljava/lang/Object;
            astore 1 /* key */
        45: .line 1955
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.resetEvictionObjectCursor:(Ljava/lang/Object;)V
        46: .line 1962
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifeq 47
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasPrevious:()Z
            ifeq 48
        47: .line 1963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifne 50
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.hasNext:()Z
            ifne 50
        48: .line 1964
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        49: goto 105
        50: .line 1969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifeq 52
        51: .line 1970
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.previous:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            goto 53
        52: .line 1971
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.next:()Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
        53: .line 1969
      StackMap locals:
      StackMap stack: org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
            astore 7 /* pair */
        start local 7 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pair
        54: .line 1972
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.remove:()V
        55: .line 1973
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 9 /* objectQueue */
        start local 9 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        56: .line 1974
            aload 9 /* objectQueue */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementInternalProcessingCount:()V
        57: .line 1975
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        end local 9 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        58: .line 1908
            aload 8
            monitorexit
        59: goto 62
        end local 7 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pair
      StackMap locals:
      StackMap stack: java.lang.Throwable
        60: aload 8
            monitorexit
        61: athrow
        start local 7 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pair
        62: .line 1978
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object int long int int org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
      StackMap stack:
            iconst_0
            istore 8 /* removeObject */
        start local 8 // boolean removeObject
        63: .line 1979
            lload 3 /* minEvictableIdleTimeMillis */
            lconst_0
            lcmp
            ifle 67
        64: .line 1980
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 7 /* pair */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.tstamp:J
            lsub
        65: .line 1981
            lload 3 /* minEvictableIdleTimeMillis */
            lcmp
            ifle 67
        66: .line 1982
            iconst_1
            istore 8 /* removeObject */
        67: .line 1984
      StackMap locals: int
      StackMap stack:
            iload 2 /* testWhileIdle */
            ifeq 82
            iload 8 /* removeObject */
            ifne 82
        68: .line 1985
            iconst_0
            istore 9 /* active */
        start local 9 // boolean active
        69: .line 1987
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 7 /* pair */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.activateObject:(Ljava/lang/Object;Ljava/lang/Object;)V
        70: .line 1988
            iconst_1
            istore 9 /* active */
        71: .line 1989
            goto 74
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object int long int int org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair int int
      StackMap stack: java.lang.Exception
        72: pop
        73: .line 1990
            iconst_1
            istore 8 /* removeObject */
        74: .line 1992
      StackMap locals:
      StackMap stack:
            iload 9 /* active */
            ifeq 82
        75: .line 1993
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 7 /* pair */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.validateObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 78
        76: .line 1994
            iconst_1
            istore 8 /* removeObject */
        77: .line 1995
            goto 82
        78: .line 1997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 7 /* pair */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.passivateObject:(Ljava/lang/Object;Ljava/lang/Object;)V
        79: .line 1998
            goto 82
      StackMap locals:
      StackMap stack: java.lang.Exception
        80: pop
        81: .line 1999
            iconst_1
            istore 8 /* removeObject */
        end local 9 // boolean active
        82: .line 2005
      StackMap locals:
      StackMap stack:
            iload 8 /* removeObject */
            ifeq 86
        83: .line 2007
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._factory:Lorg/apache/commons/pool/KeyedPoolableObjectFactory;
            aload 1 /* key */
            aload 7 /* pair */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair.value:Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.KeyedPoolableObjectFactory.destroyObject:(Ljava/lang/Object;Ljava/lang/Object;)V
        84: .line 2008
            goto 86
      StackMap locals:
      StackMap stack: java.lang.Exception
        85: pop
        86: .line 2012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 9
            monitorenter
        87: .line 2014
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
        88: .line 2013
            astore 10 /* objectQueue */
        start local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
        89: .line 2015
            aload 10 /* objectQueue */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        90: .line 2016
            iload 8 /* removeObject */
            ifeq 97
        91: .line 2017
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.isEmpty:()Z
            ifeq 101
        92: .line 2018
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            ifne 101
        93: .line 2019
            aload 10 /* objectQueue */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            ifne 101
        94: .line 2020
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        95: .line 2021
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.remove:(Ljava/lang/Object;)Z
            pop
        96: .line 2023
            goto 101
        97: .line 2024
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            aload 7 /* pair */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.add:(Ljava/lang/Object;)V
        98: .line 2025
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            iconst_1
            iadd
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
        99: .line 2026
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifeq 101
       100: .line 2028
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.previous:()Ljava/lang/Object;
            pop
        end local 10 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue objectQueue
       101: .line 2012
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
       102: goto 105
      StackMap locals:
      StackMap stack: java.lang.Throwable
       103: aload 9
            monitorexit
       104: athrow
        end local 8 // boolean removeObject
        end local 7 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pair
       105: .line 1906
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
       106: iload 5 /* i */
            iload 6 /* m */
            if_icmplt 14
        end local 6 // int m
        end local 5 // int i
       107: .line 2033
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
       108: .line 2034
            return
        end local 3 // long minEvictableIdleTimeMillis
        end local 2 // boolean testWhileIdle
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0  109     0                        this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            1  109     1                         key  TK;
            3    9     2               testWhileIdle  Z
           11  109     2               testWhileIdle  Z
            4    9     3  minEvictableIdleTimeMillis  J
           11  109     3  minEvictableIdleTimeMillis  J
           12  107     5                           i  I
           13  107     6                           m  I
           54   60     7                        pair  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;
           62  105     7                        pair  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;
           56   58     9                 objectQueue  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
           63  105     8                removeObject  Z
           69   82     9                      active  Z
           89  101    10                 objectQueue  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any
          15    17      60  any
          18    33      60  any
          34    49      60  any
          50    59      60  any
          60    61      60  any
          69    71      72  Class java.lang.Exception
          78    79      80  Class java.lang.Exception
          83    84      85  Class java.lang.Exception
          87   102     103  any
         103   104     103  any
    Exceptions:
      throws java.lang.Exception

  private void resetEvictionKeyCursor();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 2041
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 2
         1: .line 2042
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.close:()V
         2: .line 2044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolList:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.cursor:()Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionKeyCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
         3: .line 2045
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 6
         4: .line 2046
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.close:()V
         5: .line 2047
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
         6: .line 2049
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  private void resetEvictionObjectCursor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 2057
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            ifnull 2
         1: .line 2058
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList$Cursor.close:()V
         2: .line 2060
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            ifnonnull 4
         3: .line 2061
            return
         4: .line 2063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 2 /* pool */
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         5: .line 2064
            aload 2 /* pool */
            ifnull 10
         6: .line 2065
            aload 2 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            astore 3 /* queue */
        start local 3 // org.apache.commons.pool.impl.CursorableLinkedList queue
         7: .line 2066
            aload 0 /* this */
            aload 3 /* queue */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._lifo:Z
            ifeq 8
            aload 3 /* queue */
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            goto 9
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue org.apache.commons.pool.impl.CursorableLinkedList
      StackMap stack: org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.CursorableLinkedList
         8: iconst_0
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue org.apache.commons.pool.impl.CursorableLinkedList
      StackMap stack: org.apache.commons.pool.impl.GenericKeyedObjectPool org.apache.commons.pool.impl.CursorableLinkedList int
         9: invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.cursor:(I)Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictionCursor:Lorg/apache/commons/pool/impl/CursorableLinkedList$Cursor;
        end local 3 // org.apache.commons.pool.impl.CursorableLinkedList queue
        10: .line 2068
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   11     1    key  Ljava/lang/Object;
            5   11     2   pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            7   10     3  queue  Lorg/apache/commons/pool/impl/CursorableLinkedList<Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TV;>;>;
    MethodParameters:
      Name  Flags
      key   

  private void ensureMinIdle();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 2080
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._minIdle:I
            ifle 12
         1: .line 2082
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 2084
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            astore 1 /* keysCopy */
        start local 1 // java.lang.Object[] keysCopy
         3: .line 2082
            aload 2
            monitorexit
         4: goto 7
        end local 1 // java.lang.Object[] keysCopy
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
        start local 1 // java.lang.Object[] keysCopy
         7: .line 2090
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object[]
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         8: goto 11
         9: .line 2092
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keysCopy */
            iload 2 /* i */
            aaload
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.ensureMinIdle:(Ljava/lang/Object;)V
        10: .line 2090
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 1 /* keysCopy */
            arraylength
            if_icmplt 9
        end local 2 // int i
        end local 1 // java.lang.Object[] keysCopy
        12: .line 2095
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            3    5     1  keysCopy  [Ljava/lang/Object;
            7   12     1  keysCopy  [Ljava/lang/Object;
            8   12     2         i  I
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    Exceptions:
      throws java.lang.Exception

  private void ensureMinIdle();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // java.lang.Object key
         0: .line 2111
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 2112
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
            astore 2 /* pool */
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         2: .line 2111
            aload 3
            monitorexit
         3: goto 6
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         6: .line 2114
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue
      StackMap stack:
            aload 2 /* pool */
            ifnonnull 8
         7: .line 2115
            return
         8: .line 2123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pool */
            iconst_0
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.calculateDeficit:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;Z)I
            istore 3 /* objectDeficit */
        start local 3 // int objectDeficit
         9: .line 2125
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 30
        11: .line 2127
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.addObject:(Ljava/lang/Object;)V
        12: .line 2128
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 5
        14: .line 2129
            aload 0 /* this */
            dup
            astore 6
            monitorenter
        15: .line 2130
            aload 2 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        16: .line 2129
            aload 6
            monitorexit
        17: goto 20
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue int int java.lang.Throwable org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        18: aload 6
            monitorexit
        19: athrow
        20: .line 2132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        21: .line 2133
            aload 5
            athrow
        22: .line 2129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6
            monitorenter
        23: .line 2130
            aload 2 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.decrementInternalProcessingCount:()V
        24: .line 2129
            aload 6
            monitorexit
        25: goto 28
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue int int top org.apache.commons.pool.impl.GenericKeyedObjectPool
      StackMap stack: java.lang.Throwable
        26: aload 6
            monitorexit
        27: athrow
        28: .line 2132
      StackMap locals: org.apache.commons.pool.impl.GenericKeyedObjectPool java.lang.Object org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.allocate:()V
        29: .line 2125
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 4 /* i */
            iload 3 /* objectDeficit */
            if_icmpge 31
            aload 0 /* this */
            aload 2 /* pool */
            iconst_1
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.calculateDeficit:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;Z)I
            ifgt 11
        end local 4 // int i
        31: .line 2135
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int objectDeficit
        end local 2 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   32     1            key  TK;
            2    4     2           pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            6   32     2           pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            9   32     3  objectDeficit  I
           10   31     4              i  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
          11    13      13  any
          15    17      18  any
          18    19      18  any
          23    25      26  any
          26    27      26  any
    Exceptions:
      throws java.lang.Exception
    Signature: (TK;)V
    MethodParameters:
      Name  Flags
      key   

  protected synchronized void startEvictor(long);
    descriptor: (J)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // long delay
         0: .line 2147
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictor:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
            ifnull 3
         1: .line 2148
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictor:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
            invokestatic org.apache.commons.pool.impl.EvictionTimer.cancel:(Ljava/util/TimerTask;)V
         2: .line 2149
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictor:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
         3: .line 2151
      StackMap locals:
      StackMap stack:
            lload 1 /* delay */
            lconst_0
            lcmp
            ifle 6
         4: .line 2152
            aload 0 /* this */
            new org.apache.commons.pool.impl.GenericKeyedObjectPool$Evictor
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool.impl.GenericKeyedObjectPool$Evictor.<init>:(Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;)V
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictor:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
         5: .line 2153
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._evictor:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$Evictor;
            lload 1 /* delay */
            lload 1 /* delay */
            invokestatic org.apache.commons.pool.impl.EvictionTimer.schedule:(Ljava/util/TimerTask;JJ)V
         6: .line 2155
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long delay
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0    7     1  delay  J
    MethodParameters:
       Name  Flags
      delay  

  synchronized java.lang.String debugInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 2164
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 2165
            aload 1 /* buf */
            ldc "Active: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getNumActive:()I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 2166
            aload 1 /* buf */
            ldc "Idle: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getNumIdle:()I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 2167
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         4: .line 2168
            goto 7
         5: .line 2169
      StackMap locals: java.lang.StringBuffer java.util.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         6: .line 2170
            aload 1 /* buf */
            ldc "\t"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 3 /* key */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._poolMap:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 3 // java.lang.Object key
         7: .line 2168
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 2172
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.util.Iterator it
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            1    9     1   buf  Ljava/lang/StringBuffer;
            4    9     2    it  Ljava/util/Iterator<TK;>;
            6    7     3   key  TK;

  private synchronized int getNumTests();
    descriptor: ()I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
         0: .line 2184
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
            iflt 2
         1: .line 2185
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            invokestatic java.lang.Math.min:(II)I
            ireturn
         2: .line 2187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalIdle:I
            i2d
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._numTestsPerEvictionRun:I
            i2d
            invokestatic java.lang.Math.abs:(D)D
            ddiv
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;

  private synchronized int calculateDeficit(org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.ObjectQueue, );
    descriptor: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;Z)I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
        start local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        start local 2 // boolean incrementInternal
         0: .line 2204
            iconst_0
            istore 3 /* objectDefecit */
        start local 3 // int objectDefecit
         1: .line 2208
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getMinIdle:()I
            aload 1 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            isub
            istore 3 /* objectDefecit */
         2: .line 2209
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getMaxActive:()I
            ifle 5
         3: .line 2210
            iconst_0
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getMaxActive:()I
            aload 1 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.activeCount:I
            isub
            aload 1 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.queue:Lorg/apache/commons/pool/impl/CursorableLinkedList;
            invokevirtual org.apache.commons.pool.impl.CursorableLinkedList.size:()I
            isub
            aload 1 /* pool */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.internalProcessingCount:I
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* growLimit */
        start local 4 // int growLimit
         4: .line 2211
            iload 3 /* objectDefecit */
            iload 4 /* growLimit */
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* objectDefecit */
        end local 4 // int growLimit
         5: .line 2215
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getMaxTotal:()I
            ifle 8
         6: .line 2216
            iconst_0
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getMaxTotal:()I
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getNumActive:()I
            isub
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool.getNumIdle:()I
            isub
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool._totalInternalProcessing:I
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* growLimit */
        start local 4 // int growLimit
         7: .line 2217
            iload 3 /* objectDefecit */
            iload 4 /* growLimit */
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* objectDefecit */
        end local 4 // int growLimit
         8: .line 2220
      StackMap locals:
      StackMap stack:
            iload 2 /* incrementInternal */
            ifeq 10
            iload 3 /* objectDefecit */
            ifle 10
         9: .line 2221
            aload 1 /* pool */
            invokevirtual org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue.incrementInternalProcessingCount:()V
        10: .line 2223
      StackMap locals:
      StackMap stack:
            iload 3 /* objectDefecit */
            ireturn
        end local 3 // int objectDefecit
        end local 2 // boolean incrementInternal
        end local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>;
            0   11     1               pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
            0   11     2  incrementInternal  Z
            1   11     3      objectDefecit  I
            4    5     4          growLimit  I
            7    8     4          growLimit  I
    Signature: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;Z)I
    MethodParameters:
                   Name  Flags
      pool               
      incrementInternal  
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lorg/apache/commons/pool/BaseKeyedObjectPool<TK;TV;>;Lorg/apache/commons/pool/KeyedObjectPool<TK;TV;>;
SourceFile: "GenericKeyedObjectPool.java"
NestMembers:
  org.apache.commons.pool.impl.GenericKeyedObjectPool$Config  org.apache.commons.pool.impl.GenericKeyedObjectPool$Evictor  org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch  org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue  org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Cursor = org.apache.commons.pool.impl.CursorableLinkedList$Cursor of org.apache.commons.pool.impl.CursorableLinkedList
  Listable = org.apache.commons.pool.impl.CursorableLinkedList$Listable of org.apache.commons.pool.impl.CursorableLinkedList
  public Config = org.apache.commons.pool.impl.GenericKeyedObjectPool$Config of org.apache.commons.pool.impl.GenericKeyedObjectPool
  private Evictor = org.apache.commons.pool.impl.GenericKeyedObjectPool$Evictor of org.apache.commons.pool.impl.GenericKeyedObjectPool
  private final Latch = org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch of org.apache.commons.pool.impl.GenericKeyedObjectPool
  private ObjectQueue = org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue of org.apache.commons.pool.impl.GenericKeyedObjectPool
  ObjectTimestampPair = org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair of org.apache.commons.pool.impl.GenericKeyedObjectPool