public class org.apache.commons.pool.impl.StackObjectPool<T> extends org.apache.commons.pool.BaseObjectPool<T> implements org.apache.commons.pool.ObjectPool<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.pool.impl.StackObjectPool
  super_class: org.apache.commons.pool.BaseObjectPool
{
  protected static final int DEFAULT_MAX_SLEEPING;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  protected static final int DEFAULT_INIT_SLEEPING_CAPACITY;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  protected java.util.Stack<T> _pool;
    descriptor: Ljava/util/Stack;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Stack<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected org.apache.commons.pool.PoolableObjectFactory<T> _factory;
    descriptor: Lorg/apache/commons/pool/PoolableObjectFactory;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected int _maxSleeping;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected int _numActive;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 62
            aload 0 /* this */
            aconst_null
            bipush 8
            iconst_4
            invokespecial org.apache.commons.pool.impl.StackObjectPool.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;II)V
         1: .line 63
            return
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // int maxIdle
         0: .line 78
            aload 0 /* this */
            aconst_null
            iload 1 /* maxIdle */
            iconst_4
            invokespecial org.apache.commons.pool.impl.StackObjectPool.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;II)V
         1: .line 79
            return
        end local 1 // int maxIdle
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0    2     1  maxIdle  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      maxIdle  

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // int maxIdle
        start local 2 // int initIdleCapacity
         0: .line 96
            aload 0 /* this */
            aconst_null
            iload 1 /* maxIdle */
            iload 2 /* initIdleCapacity */
            invokespecial org.apache.commons.pool.impl.StackObjectPool.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;II)V
         1: .line 97
            return
        end local 2 // int initIdleCapacity
        end local 1 // int maxIdle
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0    2     1           maxIdle  I
            0    2     2  initIdleCapacity  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                  Name  Flags
      maxIdle           
      initIdleCapacity  

  public void <init>(org.apache.commons.pool.PoolableObjectFactory<T>);
    descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // org.apache.commons.pool.PoolableObjectFactory factory
         0: .line 105
            aload 0 /* this */
            aload 1 /* factory */
            bipush 8
            iconst_4
            invokespecial org.apache.commons.pool.impl.StackObjectPool.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;II)V
         1: .line 106
            return
        end local 1 // org.apache.commons.pool.PoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0    2     1  factory  Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
    Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;)V
    MethodParameters:
         Name  Flags
      factory  

  public void <init>(org.apache.commons.pool.PoolableObjectFactory<T>, );
    descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // org.apache.commons.pool.PoolableObjectFactory factory
        start local 2 // int maxIdle
         0: .line 116
            aload 0 /* this */
            aload 1 /* factory */
            iload 2 /* maxIdle */
            iconst_4
            invokespecial org.apache.commons.pool.impl.StackObjectPool.<init>:(Lorg/apache/commons/pool/PoolableObjectFactory;II)V
         1: .line 117
            return
        end local 2 // int maxIdle
        end local 1 // org.apache.commons.pool.PoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0    2     1  factory  Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
            0    2     2  maxIdle  I
    Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;I)V
    MethodParameters:
         Name  Flags
      factory  
      maxIdle  

  public void <init>(org.apache.commons.pool.PoolableObjectFactory<T>, int, );
    descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // org.apache.commons.pool.PoolableObjectFactory factory
        start local 2 // int maxIdle
        start local 3 // int initIdleCapacity
         0: .line 134
            aload 0 /* this */
            invokespecial org.apache.commons.pool.BaseObjectPool.<init>:()V
         1: .line 427
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
         2: .line 434
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
         3: .line 441
            aload 0 /* this */
            bipush 8
            putfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
         4: .line 448
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
         5: .line 135
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
         6: .line 136
            aload 0 /* this */
            iload 2 /* maxIdle */
            ifge 7
            bipush 8
            goto 8
      StackMap locals: org.apache.commons.pool.impl.StackObjectPool org.apache.commons.pool.PoolableObjectFactory int int
      StackMap stack: org.apache.commons.pool.impl.StackObjectPool
         7: iload 2 /* maxIdle */
      StackMap locals: org.apache.commons.pool.impl.StackObjectPool org.apache.commons.pool.PoolableObjectFactory int int
      StackMap stack: org.apache.commons.pool.impl.StackObjectPool int
         8: putfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
         9: .line 137
            iload 3 /* initIdleCapacity */
            iconst_1
            if_icmpge 10
            iconst_4
            goto 11
      StackMap locals:
      StackMap stack:
        10: iload 3 /* initIdleCapacity */
      StackMap locals:
      StackMap stack: int
        11: istore 4 /* initcapacity */
        start local 4 // int initcapacity
        12: .line 138
            aload 0 /* this */
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            putfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
        13: .line 139
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            iload 4 /* initcapacity */
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
            if_icmple 14
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
            goto 15
      StackMap locals: org.apache.commons.pool.impl.StackObjectPool org.apache.commons.pool.PoolableObjectFactory int int int
      StackMap stack: java.util.Stack
        14: iload 4 /* initcapacity */
      StackMap locals: org.apache.commons.pool.impl.StackObjectPool org.apache.commons.pool.PoolableObjectFactory int int int
      StackMap stack: java.util.Stack int
        15: invokevirtual java.util.Stack.ensureCapacity:(I)V
        16: .line 140
            return
        end local 4 // int initcapacity
        end local 3 // int initIdleCapacity
        end local 2 // int maxIdle
        end local 1 // org.apache.commons.pool.PoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0   17     1           factory  Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
            0   17     2           maxIdle  I
            0   17     3  initIdleCapacity  I
           12   17     4      initcapacity  I
    Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;II)V
    MethodParameters:
                  Name  Flags
      factory           
      maxIdle           
      initIdleCapacity  

  public synchronized T borrowObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 166
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.assertOpen:()V
         1: .line 167
            aconst_null
            astore 1 /* obj */
        start local 1 // java.lang.Object obj
         2: .line 168
            iconst_0
            istore 2 /* newlyCreated */
        start local 2 // boolean newlyCreated
         3: .line 169
            goto 34
         4: .line 170
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.empty:()Z
            ifne 7
         5: .line 171
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            astore 1 /* obj */
         6: .line 172
            goto 13
         7: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            ifnonnull 9
         8: .line 174
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         9: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.makeObject:()Ljava/lang/Object;
            astore 1 /* obj */
        10: .line 177
            iconst_1
            istore 2 /* newlyCreated */
        11: .line 178
            aload 1 /* obj */
            ifnonnull 13
        12: .line 179
            new java.util.NoSuchElementException
            dup
            ldc "PoolableObjectFactory.makeObject() returned null."
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            ifnull 34
            aload 1 /* obj */
            ifnull 34
        14: .line 185
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.activateObject:(Ljava/lang/Object;)V
        15: .line 186
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.validateObject:(Ljava/lang/Object;)Z
            ifne 34
        16: .line 187
            new java.lang.Exception
            dup
            ldc "ValidateObject failed"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 189
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        18: .line 190
            aload 3 /* t */
            invokestatic org.apache.commons.pool.PoolUtils.checkRethrow:(Ljava/lang/Throwable;)V
        19: .line 192
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
        20: .line 193
            goto 27
      StackMap locals: org.apache.commons.pool.impl.StackObjectPool java.lang.Object int java.lang.Throwable
      StackMap stack: java.lang.Throwable
        21: astore 4 /* t2 */
        start local 4 // java.lang.Throwable t2
        22: .line 194
            aload 4 /* t2 */
            invokestatic org.apache.commons.pool.PoolUtils.checkRethrow:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t2
        23: .line 197
            aconst_null
            astore 1 /* obj */
            goto 28
        24: .line 196
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        25: .line 197
            aconst_null
            astore 1 /* obj */
        26: .line 198
            aload 5
            athrow
        27: .line 197
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* obj */
        28: .line 199
      StackMap locals:
      StackMap stack:
            iload 2 /* newlyCreated */
            ifeq 34
        29: .line 200
            new java.util.NoSuchElementException
            dup
        30: .line 201
            new java.lang.StringBuilder
            dup
            ldc "Could not create a validated object, cause: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 202
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 201
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 200
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Throwable t
        34: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 4
        35: .line 207
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
            iconst_1
            iadd
            putfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
        36: .line 208
            aload 1 /* obj */
            areturn
        end local 2 // boolean newlyCreated
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            2   37     1           obj  TT;
            3   37     2  newlyCreated  Z
           18   34     3             t  Ljava/lang/Throwable;
           22   23     4            t2  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    17      17  Class java.lang.Throwable
          19    20      21  Class java.lang.Throwable
          19    23      24  any
    Exceptions:
      throws java.lang.Exception
    Signature: ()TT;

  public synchronized void returnObject();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // java.lang.Object obj
         0: .line 229
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.isClosed:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* success */
        start local 2 // boolean success
         3: .line 230
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            ifnull 11
         4: .line 231
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.validateObject:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 232
            iconst_0
            istore 2 /* success */
         6: .line 233
            goto 11
         7: .line 235
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.passivateObject:(Ljava/lang/Object;)V
         8: .line 236
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: pop
        10: .line 237
            iconst_0
            istore 2 /* success */
        11: .line 242
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifeq 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 3 /* shouldDestroy */
        start local 3 // boolean shouldDestroy
        14: .line 244
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
        15: .line 245
            iload 2 /* success */
            ifeq 22
        16: .line 246
            aconst_null
            astore 4 /* toBeDestroyed */
        start local 4 // java.lang.Object toBeDestroyed
        17: .line 247
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.size:()I
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
            if_icmplt 20
        18: .line 248
            iconst_1
            istore 3 /* shouldDestroy */
        19: .line 249
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            iconst_0
            invokevirtual java.util.Stack.remove:(I)Ljava/lang/Object;
            astore 4 /* toBeDestroyed */
        20: .line 251
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            aload 1 /* obj */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 252
            aload 4 /* toBeDestroyed */
            astore 1 /* obj */
        end local 4 // java.lang.Object toBeDestroyed
        22: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        23: .line 256
            iload 3 /* shouldDestroy */
            ifeq 27
        24: .line 258
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
        25: .line 259
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Exception
        26: pop
        27: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean shouldDestroy
        end local 2 // boolean success
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0   28     1            obj  TT;
            3   28     2        success  Z
           14   28     3  shouldDestroy  Z
           17   22     4  toBeDestroyed  TT;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Exception
          24    25      26  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   

  public synchronized void invalidateObject();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // java.lang.Object obj
         0: .line 270
            aload 0 /* this */
            dup
            getfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
            iconst_1
            isub
            putfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
         1: .line 271
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            ifnull 3
         2: .line 272
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
         3: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
         4: .line 275
            return
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0    5     1   obj  TT;
    Exceptions:
      throws java.lang.Exception
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   

  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.StackObjectPool this
         0: .line 285
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.size:()I
            ireturn
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;

  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.StackObjectPool this
         0: .line 295
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._numActive:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;

  public synchronized void clear();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 304
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            ifnull 7
         1: .line 305
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.iterator:()Ljava/util/Iterator;
            astore 1 /* it */
        start local 1 // java.util.Iterator it
         2: .line 306
            goto 6
         3: .line 308
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
         4: .line 309
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 1 // java.util.Iterator it
         7: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.clear:()V
         8: .line 315
            return
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            2    7     1    it  Ljava/util/Iterator<TT;>;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 329
            aload 0 /* this */
            invokespecial org.apache.commons.pool.BaseObjectPool.close:()V
         1: .line 330
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.clear:()V
         2: .line 331
            return
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
    Exceptions:
      throws java.lang.Exception

  public synchronized void addObject();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 353
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.assertOpen:()V
         1: .line 354
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            ifnonnull 3
         2: .line 355
            new java.lang.IllegalStateException
            dup
            ldc "Cannot add objects without a factory."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.makeObject:()Ljava/lang/Object;
            astore 1 /* obj */
        start local 1 // java.lang.Object obj
         4: .line 359
            iconst_1
            istore 2 /* success */
        start local 2 // boolean success
         5: .line 360
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.validateObject:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 361
            iconst_0
            istore 2 /* success */
         7: .line 362
            goto 9
         8: .line 363
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.passivateObject:(Ljava/lang/Object;)V
         9: .line 366
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifeq 10
            iconst_0
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 3 /* shouldDestroy */
        start local 3 // boolean shouldDestroy
        12: .line 368
            iload 2 /* success */
            ifeq 19
        13: .line 369
            aconst_null
            astore 4 /* toBeDestroyed */
        start local 4 // java.lang.Object toBeDestroyed
        14: .line 370
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            invokevirtual java.util.Stack.size:()I
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
            if_icmplt 17
        15: .line 371
            iconst_1
            istore 3 /* shouldDestroy */
        16: .line 372
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            iconst_0
            invokevirtual java.util.Stack.remove:(I)Ljava/lang/Object;
            astore 4 /* toBeDestroyed */
        17: .line 374
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._pool:Ljava/util/Stack;
            aload 1 /* obj */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 375
            aload 4 /* toBeDestroyed */
            astore 1 /* obj */
        end local 4 // java.lang.Object toBeDestroyed
        19: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
        20: .line 379
            iload 3 /* shouldDestroy */
            ifeq 24
        21: .line 381
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            aload 1 /* obj */
            invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
        22: .line 382
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: pop
        24: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean shouldDestroy
        end local 2 // boolean success
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            4   25     1            obj  TT;
            5   25     2        success  Z
           12   25     3  shouldDestroy  Z
           14   19     4  toBeDestroyed  TT;
      Exception table:
        from    to  target  type
          21    22      23  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception

  public synchronized void setFactory(org.apache.commons.pool.PoolableObjectFactory<T>);
    descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
        start local 1 // org.apache.commons.pool.PoolableObjectFactory factory
         0: .line 401
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.assertOpen:()V
         1: .line 402
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.getNumActive:()I
            ifle 3
         2: .line 403
            new java.lang.IllegalStateException
            dup
            ldc "Objects are already active"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.pool.impl.StackObjectPool.clear:()V
         4: .line 406
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
         5: .line 408
            return
        end local 1 // org.apache.commons.pool.PoolableObjectFactory factory
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
            0    6     1  factory  Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
    Exceptions:
      throws java.lang.IllegalStateException
    Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      factory  

  public synchronized org.apache.commons.pool.PoolableObjectFactory<T> getFactory();
    descriptor: ()Lorg/apache/commons/pool/PoolableObjectFactory;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 457
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
            areturn
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
    Signature: ()Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;

  public int getMaxSleeping();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.StackObjectPool this
         0: .line 467
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.StackObjectPool._maxSleeping:I
            ireturn
        end local 0 // org.apache.commons.pool.impl.StackObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/StackObjectPool<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/commons/pool/BaseObjectPool<TT;>;Lorg/apache/commons/pool/ObjectPool<TT;>;
SourceFile: "StackObjectPool.java"