public abstract class org.apache.commons.pool2.impl.BaseGenericObjectPool<T> extends org.apache.commons.pool2.BaseObject
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.commons.pool2.impl.BaseGenericObjectPool
  super_class: org.apache.commons.pool2.BaseObject
{
  public static final int MEAN_TIMING_STATS_CACHE_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static final java.lang.String EVICTION_POLICY_TYPE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private volatile long maxWaitMillis;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private final boolean fairness;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  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 volatile boolean testWhileIdle;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long timeBetweenEvictionRunsMillis;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private volatile long minEvictableIdleTimeMillis;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long softMinEvictableIdleTimeMillis;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile org.apache.commons.pool2.impl.EvictionPolicy<T> evictionPolicy;
    descriptor: Lorg/apache/commons/pool2/impl/EvictionPolicy;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Lorg/apache/commons/pool2/impl/EvictionPolicy<TT;>;

  private volatile long evictorShutdownTimeoutMillis;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  final java.lang.Object closeLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  volatile boolean closed;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

  final java.lang.Object evictionLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  private org.apache.commons.pool2.impl.BaseGenericObjectPool<T>.Evictor evictor;
    descriptor: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>.Evictor;

  org.apache.commons.pool2.impl.BaseGenericObjectPool<T>.EvictionIterator evictionIterator;
    descriptor: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$EvictionIterator;
    flags: (0x0000) 
    Signature: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>.EvictionIterator;

  private final java.lang.ref.WeakReference<java.lang.ClassLoader> factoryClassLoader;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ref/WeakReference<Ljava/lang/ClassLoader;>;

  private final javax.management.ObjectName objectName;
    descriptor: Ljavax/management/ObjectName;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String creationStackTrace;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong borrowedCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong returnedCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final java.util.concurrent.atomic.AtomicLong createdCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.atomic.AtomicLong destroyedCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.atomic.AtomicLong destroyedByEvictorCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.atomic.AtomicLong destroyedByBorrowValidationCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0010) ACC_FINAL

  private final org.apache.commons.pool2.impl.BaseGenericObjectPool<T>.StatsStore activeTimes;
    descriptor: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>.StatsStore;

  private final org.apache.commons.pool2.impl.BaseGenericObjectPool<T>.StatsStore idleTimes;
    descriptor: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>.StatsStore;

  private final org.apache.commons.pool2.impl.BaseGenericObjectPool<T>.StatsStore waitTimes;
    descriptor: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>.StatsStore;

  private final java.util.concurrent.atomic.AtomicLong maxBorrowWaitTimeMillis;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile org.apache.commons.pool2.SwallowedExceptionListener swallowedExceptionListener;
    descriptor: Lorg/apache/commons/pool2/SwallowedExceptionListener;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            ldc Lorg/apache/commons/pool2/impl/EvictionPolicy;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putstatic org.apache.commons.pool2.impl.BaseGenericObjectPool.EVICTION_POLICY_TYPE_NAME:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.commons.pool2.impl.BaseObjectPoolConfig<T>, java.lang.String, java.lang.String);
    descriptor: (Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.impl.BaseObjectPoolConfig config
        start local 2 // java.lang.String jmxNameBase
        start local 3 // java.lang.String jmxNamePrefix
         0: .line 138
            aload 0 /* this */
            invokespecial org.apache.commons.pool2.BaseObject.<init>:()V
         1: .line 69
            aload 0 /* this */
         2: .line 70
            iconst_m1
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxTotal:I
         3: .line 71
            aload 0 /* this */
         4: .line 72
            iconst_1
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.blockWhenExhausted:Z
         5: .line 73
            aload 0 /* this */
         6: .line 74
            ldc -1
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxWaitMillis:J
         7: .line 75
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.lifo:Z
         8: .line 77
            aload 0 /* this */
         9: .line 78
            iconst_0
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnCreate:Z
        10: .line 79
            aload 0 /* this */
        11: .line 80
            iconst_0
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnBorrow:Z
        12: .line 81
            aload 0 /* this */
        13: .line 82
            iconst_0
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnReturn:Z
        14: .line 83
            aload 0 /* this */
        15: .line 84
            iconst_0
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testWhileIdle:Z
        16: .line 85
            aload 0 /* this */
        17: .line 86
            ldc -1
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.timeBetweenEvictionRunsMillis:J
        18: .line 87
            aload 0 /* this */
        19: .line 88
            iconst_3
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.numTestsPerEvictionRun:I
        20: .line 89
            aload 0 /* this */
        21: .line 90
            ldc 1800000
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.minEvictableIdleTimeMillis:J
        22: .line 91
            aload 0 /* this */
        23: .line 92
            ldc -1
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.softMinEvictableIdleTimeMillis:J
        24: .line 94
            aload 0 /* this */
        25: .line 95
            ldc 10000
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictorShutdownTimeoutMillis:J
        26: .line 99
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.closeLock:Ljava/lang/Object;
        27: .line 100
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.closed:Z
        28: .line 101
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionLock:Ljava/lang/Object;
        29: .line 102
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
        30: .line 103
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionIterator:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$EvictionIterator;
        31: .line 116
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.borrowedCount:Ljava/util/concurrent/atomic/AtomicLong;
        32: .line 117
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.returnedCount:Ljava/util/concurrent/atomic/AtomicLong;
        33: .line 118
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.createdCount:Ljava/util/concurrent/atomic/AtomicLong;
        34: .line 119
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedCount:Ljava/util/concurrent/atomic/AtomicLong;
        35: .line 120
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedByEvictorCount:Ljava/util/concurrent/atomic/AtomicLong;
        36: .line 121
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedByBorrowValidationCount:Ljava/util/concurrent/atomic/AtomicLong;
        37: .line 122
            aload 0 /* this */
            new org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore
            dup
            aload 0 /* this */
            bipush 100
            invokespecial org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.<init>:(Lorg/apache/commons/pool2/impl/BaseGenericObjectPool;I)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.activeTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
        38: .line 123
            aload 0 /* this */
            new org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore
            dup
            aload 0 /* this */
            bipush 100
            invokespecial org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.<init>:(Lorg/apache/commons/pool2/impl/BaseGenericObjectPool;I)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.idleTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
        39: .line 124
            aload 0 /* this */
            new org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore
            dup
            aload 0 /* this */
            bipush 100
            invokespecial org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.<init>:(Lorg/apache/commons/pool2/impl/BaseGenericObjectPool;I)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.waitTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
        40: .line 125
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxBorrowWaitTimeMillis:Ljava/util/concurrent/atomic/AtomicLong;
        41: .line 126
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.swallowedExceptionListener:Lorg/apache/commons/pool2/SwallowedExceptionListener;
        42: .line 140
            aload 1 /* config */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getJmxEnabled:()Z
            ifeq 45
        43: .line 141
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* config */
            aload 2 /* jmxNameBase */
            aload 3 /* jmxNamePrefix */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.jmxRegister:(Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.objectName:Ljavax/management/ObjectName;
        44: .line 142
            goto 46
        45: .line 143
      StackMap locals: org.apache.commons.pool2.impl.BaseGenericObjectPool org.apache.commons.pool2.impl.BaseObjectPoolConfig java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.objectName:Ljavax/management/ObjectName;
        46: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.getStackTrace:(Ljava/lang/Exception;)Ljava/lang/String;
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.creationStackTrace:Ljava/lang/String;
        47: .line 150
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
        48: .line 151
            aload 4 /* cl */
            ifnonnull 51
        49: .line 152
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.factoryClassLoader:Ljava/lang/ref/WeakReference;
        50: .line 153
            goto 52
        51: .line 154
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 4 /* cl */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.factoryClassLoader:Ljava/lang/ref/WeakReference;
        52: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getFairness:()Z
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.fairness:Z
        53: .line 158
            return
        end local 4 // java.lang.ClassLoader cl
        end local 3 // java.lang.String jmxNamePrefix
        end local 2 // java.lang.String jmxNameBase
        end local 1 // org.apache.commons.pool2.impl.BaseObjectPoolConfig config
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   54     0           this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   54     1         config  Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig<TT;>;
            0   54     2    jmxNameBase  Ljava/lang/String;
            0   54     3  jmxNamePrefix  Ljava/lang/String;
           48   54     4             cl  Ljava/lang/ClassLoader;
    Signature: (Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig<TT;>;Ljava/lang/String;Ljava/lang/String;)V
    MethodParameters:
               Name  Flags
      config         final
      jmxNameBase    final
      jmxNamePrefix  final

  public final int getMaxTotal();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 173
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxTotal:I
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setMaxTotal(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // int maxTotal
         0: .line 188
            aload 0 /* this */
            iload 1 /* maxTotal */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxTotal:I
         1: .line 189
            return
        end local 1 // int maxTotal
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  maxTotal  I
    MethodParameters:
          Name  Flags
      maxTotal  final

  public final boolean getBlockWhenExhausted();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 202
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.blockWhenExhausted:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setBlockWhenExhausted(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // boolean blockWhenExhausted
         0: .line 217
            aload 0 /* this */
            iload 1 /* blockWhenExhausted */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.blockWhenExhausted:Z
         1: .line 218
            return
        end local 1 // boolean blockWhenExhausted
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  blockWhenExhausted  Z
    MethodParameters:
                    Name  Flags
      blockWhenExhausted  final

  protected void setConfig(org.apache.commons.pool2.impl.BaseObjectPoolConfig<T>);
    descriptor: (Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.impl.BaseObjectPoolConfig conf
         0: .line 221
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getLifo:()Z
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setLifo:(Z)V
         1: .line 222
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getMaxWaitMillis:()J
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setMaxWaitMillis:(J)V
         2: .line 223
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getBlockWhenExhausted:()Z
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setBlockWhenExhausted:(Z)V
         3: .line 224
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getTestOnCreate:()Z
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setTestOnCreate:(Z)V
         4: .line 225
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getTestOnBorrow:()Z
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setTestOnBorrow:(Z)V
         5: .line 226
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getTestOnReturn:()Z
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setTestOnReturn:(Z)V
         6: .line 227
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getTestWhileIdle:()Z
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setTestWhileIdle:(Z)V
         7: .line 228
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getNumTestsPerEvictionRun:()I
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setNumTestsPerEvictionRun:(I)V
         8: .line 229
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getMinEvictableIdleTimeMillis:()J
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setMinEvictableIdleTimeMillis:(J)V
         9: .line 230
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getTimeBetweenEvictionRunsMillis:()J
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setTimeBetweenEvictionRunsMillis:(J)V
        10: .line 231
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getSoftMinEvictableIdleTimeMillis:()J
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setSoftMinEvictableIdleTimeMillis:(J)V
        11: .line 232
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getEvictionPolicy:()Lorg/apache/commons/pool2/impl/EvictionPolicy;
            astore 2 /* policy */
        start local 2 // org.apache.commons.pool2.impl.EvictionPolicy policy
        12: .line 233
            aload 2 /* policy */
            ifnonnull 15
        13: .line 235
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getEvictionPolicyClassName:()Ljava/lang/String;
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setEvictionPolicyClassName:(Ljava/lang/String;)V
        14: .line 236
            goto 16
        15: .line 238
      StackMap locals: org.apache.commons.pool2.impl.EvictionPolicy
      StackMap stack:
            aload 0 /* this */
            aload 2 /* policy */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setEvictionPolicy:(Lorg/apache/commons/pool2/impl/EvictionPolicy;)V
        16: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getEvictorShutdownTimeoutMillis:()J
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setEvictorShutdownTimeoutMillis:(J)V
        17: .line 241
            return
        end local 2 // org.apache.commons.pool2.impl.EvictionPolicy policy
        end local 1 // org.apache.commons.pool2.impl.BaseObjectPoolConfig conf
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   18     1    conf  Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig<TT;>;
           12   18     2  policy  Lorg/apache/commons/pool2/impl/EvictionPolicy<TT;>;
    Signature: (Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig<TT;>;)V
    MethodParameters:
      Name  Flags
      conf  final

  public final long getMaxWaitMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 257
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxWaitMillis:J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setMaxWaitMillis(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long maxWaitMillis
         0: .line 275
            aload 0 /* this */
            lload 1 /* maxWaitMillis */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxWaitMillis:J
         1: .line 276
            return
        end local 1 // long maxWaitMillis
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  maxWaitMillis  J
    MethodParameters:
               Name  Flags
      maxWaitMillis  final

  public final boolean getLifo();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 291
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.lifo:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final boolean getFairness();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 302
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.fairness:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setLifo(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // boolean lifo
         0: .line 318
            aload 0 /* this */
            iload 1 /* lifo */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.lifo:Z
         1: .line 319
            return
        end local 1 // boolean lifo
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  lifo  Z
    MethodParameters:
      Name  Flags
      lifo  final

  public final boolean getTestOnCreate();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 336
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnCreate:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setTestOnCreate(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // boolean testOnCreate
         0: .line 355
            aload 0 /* this */
            iload 1 /* testOnCreate */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnCreate:Z
         1: .line 356
            return
        end local 1 // boolean testOnCreate
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  testOnCreate  Z
    MethodParameters:
              Name  Flags
      testOnCreate  final

  public final boolean getTestOnBorrow();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 372
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnBorrow:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setTestOnBorrow(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // boolean testOnBorrow
         0: .line 390
            aload 0 /* this */
            iload 1 /* testOnBorrow */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnBorrow:Z
         1: .line 391
            return
        end local 1 // boolean testOnBorrow
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  testOnBorrow  Z
    MethodParameters:
              Name  Flags
      testOnBorrow  final

  public final boolean getTestOnReturn();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 406
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnReturn:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setTestOnReturn(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // boolean testOnReturn
         0: .line 423
            aload 0 /* this */
            iload 1 /* testOnReturn */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnReturn:Z
         1: .line 424
            return
        end local 1 // boolean testOnReturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  testOnReturn  Z
    MethodParameters:
              Name  Flags
      testOnReturn  final

  public final boolean getTestWhileIdle();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 440
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testWhileIdle:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setTestWhileIdle(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // boolean testWhileIdle
         0: .line 460
            aload 0 /* this */
            iload 1 /* testWhileIdle */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testWhileIdle:Z
         1: .line 461
            return
        end local 1 // boolean testWhileIdle
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  testWhileIdle  Z
    MethodParameters:
               Name  Flags
      testWhileIdle  final

  public final long getTimeBetweenEvictionRunsMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 473
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.timeBetweenEvictionRunsMillis:J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setTimeBetweenEvictionRunsMillis(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long timeBetweenEvictionRunsMillis
         0: .line 490
            aload 0 /* this */
            lload 1 /* timeBetweenEvictionRunsMillis */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.timeBetweenEvictionRunsMillis:J
         1: .line 491
            aload 0 /* this */
            lload 1 /* timeBetweenEvictionRunsMillis */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.startEvictor:(J)V
         2: .line 492
            return
        end local 1 // long timeBetweenEvictionRunsMillis
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    3     0                           this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    3     1  timeBetweenEvictionRunsMillis  J
    MethodParameters:
                               Name  Flags
      timeBetweenEvictionRunsMillis  final

  public final int getNumTestsPerEvictionRun();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 510
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.numTestsPerEvictionRun:I
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setNumTestsPerEvictionRun(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // int numTestsPerEvictionRun
         0: .line 530
            aload 0 /* this */
            iload 1 /* numTestsPerEvictionRun */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.numTestsPerEvictionRun:I
         1: .line 531
            return
        end local 1 // int numTestsPerEvictionRun
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  numTestsPerEvictionRun  I
    MethodParameters:
                        Name  Flags
      numTestsPerEvictionRun  final

  public final long getMinEvictableIdleTimeMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 546
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.minEvictableIdleTimeMillis:J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setMinEvictableIdleTimeMillis(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long minEvictableIdleTimeMillis
         0: .line 564
            aload 0 /* this */
            lload 1 /* minEvictableIdleTimeMillis */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.minEvictableIdleTimeMillis:J
         1: .line 565
            return
        end local 1 // long minEvictableIdleTimeMillis
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  minEvictableIdleTimeMillis  J
    MethodParameters:
                            Name  Flags
      minEvictableIdleTimeMillis  final

  public final long getSoftMinEvictableIdleTimeMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 583
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.softMinEvictableIdleTimeMillis:J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setSoftMinEvictableIdleTimeMillis(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long softMinEvictableIdleTimeMillis
         0: .line 605
            aload 0 /* this */
            lload 1 /* softMinEvictableIdleTimeMillis */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.softMinEvictableIdleTimeMillis:J
         1: .line 606
            return
        end local 1 // long softMinEvictableIdleTimeMillis
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    2     0                            this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  softMinEvictableIdleTimeMillis  J
    MethodParameters:
                                Name  Flags
      softMinEvictableIdleTimeMillis  final

  public final java.lang.String getEvictionPolicyClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 617
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionPolicy:Lorg/apache/commons/pool2/impl/EvictionPolicy;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public void setEvictionPolicy(org.apache.commons.pool2.impl.EvictionPolicy<T>);
    descriptor: (Lorg/apache/commons/pool2/impl/EvictionPolicy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.impl.EvictionPolicy evictionPolicy
         0: .line 628
            aload 0 /* this */
            aload 1 /* evictionPolicy */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionPolicy:Lorg/apache/commons/pool2/impl/EvictionPolicy;
         1: .line 629
            return
        end local 1 // org.apache.commons.pool2.impl.EvictionPolicy evictionPolicy
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  evictionPolicy  Lorg/apache/commons/pool2/impl/EvictionPolicy<TT;>;
    Signature: (Lorg/apache/commons/pool2/impl/EvictionPolicy<TT;>;)V
    MethodParameters:
                Name  Flags
      evictionPolicy  final

  public final void setEvictionPolicyClassName(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // java.lang.String evictionPolicyClassName
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 647
            ldc Lorg/apache/commons/pool2/impl/EvictionPolicy;
            astore 3 /* epClass */
        start local 3 // java.lang.Class epClass
         1: .line 648
            aload 3 /* epClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* epClassLoader */
        start local 4 // java.lang.ClassLoader epClassLoader
         2: .line 651
            aload 0 /* this */
            aload 1 /* evictionPolicyClassName */
            aload 2 /* classLoader */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setEvictionPolicy:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
         3: .line 652
            goto 16
      StackMap locals: org.apache.commons.pool2.impl.BaseGenericObjectPool java.lang.String java.lang.ClassLoader java.lang.Class java.lang.ClassLoader
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 653
            aload 0 /* this */
            aload 1 /* evictionPolicyClassName */
            aload 4 /* epClassLoader */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setEvictionPolicy:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
         6: .line 655
            goto 16
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
         7: pop
         8: .line 656
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* evictionPolicyClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " from class loaders ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 657
            aload 2 /* classLoader */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* epClassLoader */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] do not implement "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.commons.pool2.impl.BaseGenericObjectPool.EVICTION_POLICY_TYPE_NAME:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 656
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 659
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
        12: .line 660
            new java.lang.StringBuilder
            dup
            ldc "Unable to create "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.commons.pool2.impl.BaseGenericObjectPool.EVICTION_POLICY_TYPE_NAME:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " instance of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 661
            aload 1 /* evictionPolicyClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 660
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* exMessage */
        start local 6 // java.lang.String exMessage
        15: .line 662
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* exMessage */
            aload 5 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.String exMessage
        end local 5 // java.lang.ReflectiveOperationException e
        16: .line 664
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.ClassLoader epClassLoader
        end local 3 // java.lang.Class epClass
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String evictionPolicyClassName
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   17     0                     this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   17     1  evictionPolicyClassName  Ljava/lang/String;
            0   17     2              classLoader  Ljava/lang/ClassLoader;
            1   17     3                  epClass  Ljava/lang/Class<*>;
            2   17     4            epClassLoader  Ljava/lang/ClassLoader;
           12   16     5                        e  Ljava/lang/ReflectiveOperationException;
           15   16     6                exMessage  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.ClassCastException
           2     3       4  Class java.lang.ClassNotFoundException
           2     6       7  Class java.lang.ClassCastException
           2     6      11  Class java.lang.ClassNotFoundException
           2     6      11  Class java.lang.InstantiationException
           2     6      11  Class java.lang.IllegalAccessException
           2     6      11  Class java.lang.reflect.InvocationTargetException
           2     6      11  Class java.lang.NoSuchMethodException
    MethodParameters:
                         Name  Flags
      evictionPolicyClassName  final
      classLoader              final

  private void setEvictionPolicy(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // java.lang.String className
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 669
            aload 1 /* className */
            iconst_1
            aload 2 /* classLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* clazz */
        start local 3 // java.lang.Class clazz
         1: .line 670
            aload 3 /* clazz */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* policy */
        start local 4 // java.lang.Object policy
         2: .line 671
            aload 0 /* this */
            aload 4 /* policy */
            checkcast org.apache.commons.pool2.impl.EvictionPolicy
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionPolicy:Lorg/apache/commons/pool2/impl/EvictionPolicy;
         3: .line 672
            return
        end local 4 // java.lang.Object policy
        end local 3 // java.lang.Class clazz
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String className
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    4     1    className  Ljava/lang/String;
            0    4     2  classLoader  Ljava/lang/ClassLoader;
            1    4     3        clazz  Ljava/lang/Class<*>;
            2    4     4       policy  Ljava/lang/Object;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
    MethodParameters:
             Name  Flags
      className    final
      classLoader  final

  public final void setEvictionPolicyClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // java.lang.String evictionPolicyClassName
         0: .line 687
            aload 0 /* this */
            aload 1 /* evictionPolicyClassName */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.setEvictionPolicyClassName:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
         1: .line 688
            return
        end local 1 // java.lang.String evictionPolicyClassName
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  evictionPolicyClassName  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      evictionPolicyClassName  final

  public final long getEvictorShutdownTimeoutMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 699
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictorShutdownTimeoutMillis:J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setEvictorShutdownTimeoutMillis(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long evictorShutdownTimeoutMillis
         0: .line 713
            aload 0 /* this */
            lload 1 /* evictorShutdownTimeoutMillis */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictorShutdownTimeoutMillis:J
         1: .line 714
            return
        end local 1 // long evictorShutdownTimeoutMillis
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    2     0                          this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  evictorShutdownTimeoutMillis  J
    MethodParameters:
                              Name  Flags
      evictorShutdownTimeoutMillis  final

  public abstract void close();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public final boolean isClosed();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 727
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.closed:Z
            ireturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public abstract void evict();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception

  public org.apache.commons.pool2.impl.EvictionPolicy<T> getEvictionPolicy();
    descriptor: ()Lorg/apache/commons/pool2/impl/EvictionPolicy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 750
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionPolicy:Lorg/apache/commons/pool2/impl/EvictionPolicy;
            areturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
    Signature: ()Lorg/apache/commons/pool2/impl/EvictionPolicy<TT;>;

  final void assertOpen();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 758
            aload 0 /* this */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.isClosed:()Z
            ifeq 2
         1: .line 759
            new java.lang.IllegalStateException
            dup
            ldc "Pool not open"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 761
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
    Exceptions:
      throws java.lang.IllegalStateException

  final void startEvictor(long);
    descriptor: (J)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long delay
         0: .line 774
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 775
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictorShutdownTimeoutMillis:J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.pool2.impl.EvictionTimer.cancel:(Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;JLjava/util/concurrent/TimeUnit;)V
         2: .line 776
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
         3: .line 777
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionIterator:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$EvictionIterator;
         4: .line 778
            lload 1 /* delay */
            lconst_0
            lcmp
            ifle 7
         5: .line 779
            aload 0 /* this */
            new org.apache.commons.pool2.impl.BaseGenericObjectPool$Evictor
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.pool2.impl.BaseGenericObjectPool$Evictor.<init>:(Lorg/apache/commons/pool2/impl/BaseGenericObjectPool;)V
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
         6: .line 780
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
            lload 1 /* delay */
            lload 1 /* delay */
            invokestatic org.apache.commons.pool2.impl.EvictionTimer.schedule:(Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;JJ)V
         7: .line 774
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 783
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long delay
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   12     1  delay  J
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
       Name  Flags
      delay  final

  void stopEvictor();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 789
            aload 0 /* this */
            ldc -1
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.startEvictor:(J)V
         1: .line 790
            return
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  abstract void ensureMinIdle();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception

  public final javax.management.ObjectName getJmxName();
    descriptor: ()Ljavax/management/ObjectName;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 808
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.objectName:Ljavax/management/ObjectName;
            areturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final java.lang.String getCreationStackTrace();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 820
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.creationStackTrace:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getBorrowedCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 829
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.borrowedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getReturnedCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 839
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.returnedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getCreatedCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 848
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.createdCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getDestroyedCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 857
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getDestroyedByEvictorCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 866
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedByEvictorCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getDestroyedByBorrowValidationCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 876
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedByBorrowValidationCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getMeanActiveTimeMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 886
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.activeTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.getMean:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getMeanIdleTimeMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 896
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.idleTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.getMean:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getMeanBorrowWaitTimeMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 906
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.waitTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.getMean:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final long getMaxBorrowWaitTimeMillis();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 914
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxBorrowWaitTimeMillis:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public abstract int getNumIdle();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public final org.apache.commons.pool2.SwallowedExceptionListener getSwallowedExceptionListener();
    descriptor: ()Lorg/apache/commons/pool2/SwallowedExceptionListener;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 930
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.swallowedExceptionListener:Lorg/apache/commons/pool2/SwallowedExceptionListener;
            areturn
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;

  public final void setSwallowedExceptionListener(org.apache.commons.pool2.SwallowedExceptionListener);
    descriptor: (Lorg/apache/commons/pool2/SwallowedExceptionListener;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.SwallowedExceptionListener swallowedExceptionListener
         0: .line 942
            aload 0 /* this */
            aload 1 /* swallowedExceptionListener */
            putfield org.apache.commons.pool2.impl.BaseGenericObjectPool.swallowedExceptionListener:Lorg/apache/commons/pool2/SwallowedExceptionListener;
         1: .line 943
            return
        end local 1 // org.apache.commons.pool2.SwallowedExceptionListener swallowedExceptionListener
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    2     1  swallowedExceptionListener  Lorg/apache/commons/pool2/SwallowedExceptionListener;
    MethodParameters:
                            Name  Flags
      swallowedExceptionListener  final

  final void swallowException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // java.lang.Exception swallowException
         0: .line 952
            aload 0 /* this */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.getSwallowedExceptionListener:()Lorg/apache/commons/pool2/SwallowedExceptionListener;
            astore 2 /* listener */
        start local 2 // org.apache.commons.pool2.SwallowedExceptionListener listener
         1: .line 954
            aload 2 /* listener */
            ifnonnull 3
         2: .line 955
            return
         3: .line 959
      StackMap locals: org.apache.commons.pool2.SwallowedExceptionListener
      StackMap stack:
            aload 2 /* listener */
            aload 1 /* swallowException */
            invokeinterface org.apache.commons.pool2.SwallowedExceptionListener.onSwallowException:(Ljava/lang/Exception;)V
         4: .line 960
            goto 8
      StackMap locals:
      StackMap stack: java.lang.VirtualMachineError
         5: astore 3 /* e */
        start local 3 // java.lang.VirtualMachineError e
         6: .line 961
            aload 3 /* e */
            athrow
        end local 3 // java.lang.VirtualMachineError e
         7: .line 962
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         8: .line 965
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.SwallowedExceptionListener listener
        end local 1 // java.lang.Exception swallowException
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    9     1  swallowException  Ljava/lang/Exception;
            1    9     2          listener  Lorg/apache/commons/pool2/SwallowedExceptionListener;
            6    7     3                 e  Ljava/lang/VirtualMachineError;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.VirtualMachineError
           3     4       7  Class java.lang.Throwable
    MethodParameters:
                  Name  Flags
      swallowException  final

  final void updateStatsBorrow(org.apache.commons.pool2.PooledObject<T>, );
    descriptor: (Lorg/apache/commons/pool2/PooledObject;J)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.PooledObject p
        start local 2 // long waitTime
         0: .line 973
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.borrowedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 974
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.idleTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            aload 1 /* p */
            invokeinterface org.apache.commons.pool2.PooledObject.getIdleTimeMillis:()J
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.add:(J)V
         2: .line 975
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.waitTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            lload 2 /* waitTime */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.add:(J)V
         3: .line 980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxBorrowWaitTimeMillis:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 4 /* currentMax */
        start local 4 // long currentMax
         4: .line 981
            lload 4 /* currentMax */
            lload 2 /* waitTime */
            lcmp
            iflt 6
         5: .line 982
            goto 7
         6: .line 984
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxBorrowWaitTimeMillis:Ljava/util/concurrent/atomic/AtomicLong;
            lload 4 /* currentMax */
            lload 2 /* waitTime */
            invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
            ifeq 3
         7: .line 985
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long currentMax
        end local 2 // long waitTime
        end local 1 // org.apache.commons.pool2.PooledObject p
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    8     1           p  Lorg/apache/commons/pool2/PooledObject<TT;>;
            0    8     2    waitTime  J
            4    8     4  currentMax  J
    Signature: (Lorg/apache/commons/pool2/PooledObject<TT;>;J)V
    MethodParameters:
          Name  Flags
      p         final
      waitTime  final

  final void updateStatsReturn(long);
    descriptor: (J)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // long activeTime
         0: .line 993
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.returnedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 994
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.activeTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            lload 1 /* activeTime */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore.add:(J)V
         2: .line 995
            return
        end local 1 // long activeTime
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    3     1  activeTime  J
    MethodParameters:
            Name  Flags
      activeTime  final

  protected void markReturningState(org.apache.commons.pool2.PooledObject<T>);
    descriptor: (Lorg/apache/commons/pool2/PooledObject;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.PooledObject pooledObject
         0: .line 1002
            aload 1 /* pooledObject */
            dup
            astore 2
            monitorenter
         1: .line 1003
            aload 1 /* pooledObject */
            invokeinterface org.apache.commons.pool2.PooledObject.getState:()Lorg/apache/commons/pool2/PooledObjectState;
            astore 3 /* state */
        start local 3 // org.apache.commons.pool2.PooledObjectState state
         2: .line 1004
            aload 3 /* state */
            getstatic org.apache.commons.pool2.PooledObjectState.ALLOCATED:Lorg/apache/commons/pool2/PooledObjectState;
            if_acmpeq 6
         3: .line 1005
            new java.lang.IllegalStateException
            dup
         4: .line 1006
            ldc "Object has already been returned to this pool or is invalid"
         5: .line 1005
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1008
      StackMap locals: org.apache.commons.pool2.PooledObject org.apache.commons.pool2.PooledObjectState
      StackMap stack:
            aload 1 /* pooledObject */
            invokeinterface org.apache.commons.pool2.PooledObject.markReturning:()V
        end local 3 // org.apache.commons.pool2.PooledObjectState state
         7: .line 1002
            aload 2
            monitorexit
         8: goto 11
      StackMap locals: org.apache.commons.pool2.impl.BaseGenericObjectPool org.apache.commons.pool2.PooledObject org.apache.commons.pool2.PooledObject
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 1010
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.pool2.PooledObject pooledObject
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   12     1  pooledObject  Lorg/apache/commons/pool2/PooledObject<TT;>;
            2    7     3         state  Lorg/apache/commons/pool2/PooledObjectState;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    Signature: (Lorg/apache/commons/pool2/PooledObject<TT;>;)V
    MethodParameters:
              Name  Flags
      pooledObject  final

  final void jmxUnregister();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
         0: .line 1016
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.objectName:Ljavax/management/ObjectName;
            ifnull 7
         1: .line 1018
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
         2: .line 1019
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.objectName:Ljavax/management/ObjectName;
         3: .line 1018
            invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
         4: .line 1020
            goto 7
      StackMap locals:
      StackMap stack: javax.management.JMException
         5: astore 1 /* e */
        start local 1 // javax.management.JMException e
         6: .line 1021
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual org.apache.commons.pool2.impl.BaseGenericObjectPool.swallowException:(Ljava/lang/Exception;)V
        end local 1 // javax.management.JMException e
         7: .line 1024
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            6    7     1     e  Ljavax/management/JMException;
      Exception table:
        from    to  target  type
           1     4       5  Class javax.management.MBeanRegistrationException
           1     4       5  Class javax.management.InstanceNotFoundException

  private javax.management.ObjectName jmxRegister(org.apache.commons.pool2.impl.BaseObjectPoolConfig<T>, java.lang.String, java.lang.String);
    descriptor: (Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // org.apache.commons.pool2.impl.BaseObjectPoolConfig config
        start local 2 // java.lang.String jmxNameBase
        start local 3 // java.lang.String jmxNamePrefix
         0: .line 1041
            aconst_null
            astore 4 /* newObjectName */
        start local 4 // javax.management.ObjectName newObjectName
         1: .line 1042
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            astore 5 /* mbs */
        start local 5 // javax.management.MBeanServer mbs
         2: .line 1043
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         3: .line 1044
            iconst_0
            istore 7 /* registered */
        start local 7 // boolean registered
         4: .line 1045
            aload 1 /* config */
            invokevirtual org.apache.commons.pool2.impl.BaseObjectPoolConfig.getJmxNameBase:()Ljava/lang/String;
            astore 8 /* base */
        start local 8 // java.lang.String base
         5: .line 1046
            aload 8 /* base */
            ifnonnull 30
         6: .line 1047
            aload 2 /* jmxNameBase */
            astore 8 /* base */
         7: .line 1049
            goto 30
         8: .line 1054
      StackMap locals: org.apache.commons.pool2.impl.BaseGenericObjectPool org.apache.commons.pool2.impl.BaseObjectPoolConfig java.lang.String java.lang.String javax.management.ObjectName javax.management.MBeanServer int int java.lang.String
      StackMap stack:
            iload 6 /* i */
            iconst_1
            if_icmpne 11
         9: .line 1055
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 8 /* base */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* jmxNamePrefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 9 /* objName */
        start local 9 // javax.management.ObjectName objName
        10: .line 1056
            goto 12
        end local 9 // javax.management.ObjectName objName
        11: .line 1057
      StackMap locals:
      StackMap stack:
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 8 /* base */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* jmxNamePrefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 9 /* objName */
        start local 9 // javax.management.ObjectName objName
        12: .line 1059
      StackMap locals: javax.management.ObjectName
      StackMap stack:
            aload 5 /* mbs */
            aload 0 /* this */
            aload 9 /* objName */
            invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
            pop
        13: .line 1060
            aload 9 /* objName */
            astore 4 /* newObjectName */
        14: .line 1061
            iconst_1
            istore 7 /* registered */
        end local 9 // javax.management.ObjectName objName
        15: .line 1062
            goto 30
      StackMap locals: org.apache.commons.pool2.impl.BaseGenericObjectPool org.apache.commons.pool2.impl.BaseObjectPoolConfig java.lang.String java.lang.String javax.management.ObjectName javax.management.MBeanServer int int java.lang.String
      StackMap stack: javax.management.MalformedObjectNameException
        16: pop
        17: .line 1063
            ldc "pool"
        18: .line 1064
            aload 3 /* jmxNamePrefix */
        19: .line 1063
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        20: .line 1064
            ifeq 23
            aload 2 /* jmxNameBase */
            aload 8 /* base */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 1066
            iconst_1
            istore 7 /* registered */
        22: .line 1067
            goto 30
        23: .line 1070
      StackMap locals:
      StackMap stack:
            ldc "pool"
        24: .line 1069
            astore 3 /* jmxNamePrefix */
        25: .line 1071
            aload 2 /* jmxNameBase */
            astore 8 /* base */
            goto 30
        26: .line 1073
      StackMap locals:
      StackMap stack: javax.management.InstanceAlreadyExistsException
            pop
        27: .line 1075
            iinc 6 /* i */ 1
            goto 30
        28: .line 1076
      StackMap locals:
      StackMap stack: javax.management.JMException
            pop
        29: .line 1078
            iconst_1
            istore 7 /* registered */
        30: .line 1049
      StackMap locals:
      StackMap stack:
            iload 7 /* registered */
            ifeq 8
        31: .line 1081
            aload 4 /* newObjectName */
            areturn
        end local 8 // java.lang.String base
        end local 7 // boolean registered
        end local 6 // int i
        end local 5 // javax.management.MBeanServer mbs
        end local 4 // javax.management.ObjectName newObjectName
        end local 3 // java.lang.String jmxNamePrefix
        end local 2 // java.lang.String jmxNameBase
        end local 1 // org.apache.commons.pool2.impl.BaseObjectPoolConfig config
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   32     1         config  Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig<TT;>;
            0   32     2    jmxNameBase  Ljava/lang/String;
            0   32     3  jmxNamePrefix  Ljava/lang/String;
            1   32     4  newObjectName  Ljavax/management/ObjectName;
            2   32     5            mbs  Ljavax/management/MBeanServer;
            3   32     6              i  I
            4   32     7     registered  Z
            5   32     8           base  Ljava/lang/String;
           10   11     9        objName  Ljavax/management/ObjectName;
           12   15     9        objName  Ljavax/management/ObjectName;
      Exception table:
        from    to  target  type
           8    15      16  Class javax.management.MalformedObjectNameException
           8    15      26  Class javax.management.InstanceAlreadyExistsException
           8    15      28  Class javax.management.MBeanRegistrationException
           8    15      28  Class javax.management.NotCompliantMBeanException
    Signature: (Lorg/apache/commons/pool2/impl/BaseObjectPoolConfig<TT;>;Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
    MethodParameters:
               Name  Flags
      config         final
      jmxNameBase    final
      jmxNamePrefix  

  private java.lang.String getStackTrace(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // java.lang.Exception e
         0: .line 1093
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* w */
        start local 2 // java.io.Writer w
         1: .line 1094
            new java.io.PrintWriter
            dup
            aload 2 /* w */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         2: .line 1095
            aload 1 /* e */
            aload 3 /* pw */
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 1096
            aload 2 /* w */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.io.PrintWriter pw
        end local 2 // java.io.Writer w
        end local 1 // java.lang.Exception e
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0    4     1     e  Ljava/lang/Exception;
            1    4     2     w  Ljava/io/Writer;
            2    4     3    pw  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      e     final

  protected void toStringAppendFields(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
        start local 1 // java.lang.StringBuilder builder
         0: .line 1342
            aload 1 /* builder */
            ldc "maxTotal="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 1343
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxTotal:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         2: .line 1344
            aload 1 /* builder */
            ldc ", blockWhenExhausted="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1345
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.blockWhenExhausted:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
         4: .line 1346
            aload 1 /* builder */
            ldc ", maxWaitMillis="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1347
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxWaitMillis:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         6: .line 1348
            aload 1 /* builder */
            ldc ", lifo="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1349
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.lifo:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
         8: .line 1350
            aload 1 /* builder */
            ldc ", fairness="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1351
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.fairness:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        10: .line 1352
            aload 1 /* builder */
            ldc ", testOnCreate="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 1353
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnCreate:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        12: .line 1354
            aload 1 /* builder */
            ldc ", testOnBorrow="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1355
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnBorrow:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        14: .line 1356
            aload 1 /* builder */
            ldc ", testOnReturn="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 1357
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testOnReturn:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        16: .line 1358
            aload 1 /* builder */
            ldc ", testWhileIdle="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1359
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.testWhileIdle:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        18: .line 1360
            aload 1 /* builder */
            ldc ", timeBetweenEvictionRunsMillis="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1361
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.timeBetweenEvictionRunsMillis:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        20: .line 1362
            aload 1 /* builder */
            ldc ", numTestsPerEvictionRun="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 1363
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.numTestsPerEvictionRun:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        22: .line 1364
            aload 1 /* builder */
            ldc ", minEvictableIdleTimeMillis="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1365
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.minEvictableIdleTimeMillis:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        24: .line 1366
            aload 1 /* builder */
            ldc ", softMinEvictableIdleTimeMillis="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1367
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.softMinEvictableIdleTimeMillis:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        26: .line 1368
            aload 1 /* builder */
            ldc ", evictionPolicy="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 1369
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionPolicy:Lorg/apache/commons/pool2/impl/EvictionPolicy;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        28: .line 1370
            aload 1 /* builder */
            ldc ", closeLock="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1371
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.closeLock:Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        30: .line 1372
            aload 1 /* builder */
            ldc ", closed="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 1373
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.closed:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        32: .line 1374
            aload 1 /* builder */
            ldc ", evictionLock="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 1375
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionLock:Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        34: .line 1376
            aload 1 /* builder */
            ldc ", evictor="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 1377
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$Evictor;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        36: .line 1378
            aload 1 /* builder */
            ldc ", evictionIterator="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 1379
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionIterator:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$EvictionIterator;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        38: .line 1380
            aload 1 /* builder */
            ldc ", factoryClassLoader="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 1381
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.factoryClassLoader:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        40: .line 1382
            aload 1 /* builder */
            ldc ", oname="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 1383
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.objectName:Ljavax/management/ObjectName;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        42: .line 1384
            aload 1 /* builder */
            ldc ", creationStackTrace="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 1385
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.creationStackTrace:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        44: .line 1386
            aload 1 /* builder */
            ldc ", borrowedCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        45: .line 1387
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.borrowedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        46: .line 1388
            aload 1 /* builder */
            ldc ", returnedCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 1389
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.returnedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        48: .line 1390
            aload 1 /* builder */
            ldc ", createdCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 1391
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.createdCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        50: .line 1392
            aload 1 /* builder */
            ldc ", destroyedCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 1393
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        52: .line 1394
            aload 1 /* builder */
            ldc ", destroyedByEvictorCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 1395
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedByEvictorCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        54: .line 1396
            aload 1 /* builder */
            ldc ", destroyedByBorrowValidationCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        55: .line 1397
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.destroyedByBorrowValidationCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        56: .line 1398
            aload 1 /* builder */
            ldc ", activeTimes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        57: .line 1399
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.activeTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        58: .line 1400
            aload 1 /* builder */
            ldc ", idleTimes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 1401
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.idleTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        60: .line 1402
            aload 1 /* builder */
            ldc ", waitTimes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        61: .line 1403
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.waitTimes:Lorg/apache/commons/pool2/impl/BaseGenericObjectPool$StatsStore;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        62: .line 1404
            aload 1 /* builder */
            ldc ", maxBorrowWaitTimeMillis="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        63: .line 1405
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.maxBorrowWaitTimeMillis:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        64: .line 1406
            aload 1 /* builder */
            ldc ", swallowedExceptionListener="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 1407
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.commons.pool2.impl.BaseGenericObjectPool.swallowedExceptionListener:Lorg/apache/commons/pool2/SwallowedExceptionListener;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        66: .line 1408
            return
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.apache.commons.pool2.impl.BaseGenericObjectPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   67     0     this  Lorg/apache/commons/pool2/impl/BaseGenericObjectPool<TT;>;
            0   67     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  final
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/commons/pool2/BaseObject;
SourceFile: "BaseGenericObjectPool.java"
NestMembers:
  org.apache.commons.pool2.impl.BaseGenericObjectPool$EvictionIterator  org.apache.commons.pool2.impl.BaseGenericObjectPool$Evictor  org.apache.commons.pool2.impl.BaseGenericObjectPool$IdentityWrapper  org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore
InnerClasses:
  EvictionIterator = org.apache.commons.pool2.impl.BaseGenericObjectPool$EvictionIterator of org.apache.commons.pool2.impl.BaseGenericObjectPool
  Evictor = org.apache.commons.pool2.impl.BaseGenericObjectPool$Evictor of org.apache.commons.pool2.impl.BaseGenericObjectPool
  IdentityWrapper = org.apache.commons.pool2.impl.BaseGenericObjectPool$IdentityWrapper of org.apache.commons.pool2.impl.BaseGenericObjectPool
  private StatsStore = org.apache.commons.pool2.impl.BaseGenericObjectPool$StatsStore of org.apache.commons.pool2.impl.BaseGenericObjectPool