public class com.mchange.v2.resourcepool.BasicResourcePoolFactory extends com.mchange.v2.resourcepool.ResourcePoolFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mchange.v2.resourcepool.BasicResourcePoolFactory
  super_class: com.mchange.v2.resourcepool.ResourcePoolFactory
{
  int start;
    descriptor: I
    flags: (0x0000) 

  int min;
    descriptor: I
    flags: (0x0000) 

  int max;
    descriptor: I
    flags: (0x0000) 

  int inc;
    descriptor: I
    flags: (0x0000) 

  int retry_attempts;
    descriptor: I
    flags: (0x0000) 

  int retry_delay;
    descriptor: I
    flags: (0x0000) 

  long idle_resource_test_period;
    descriptor: J
    flags: (0x0000) 

  long max_age;
    descriptor: J
    flags: (0x0000) 

  long max_idle_time;
    descriptor: J
    flags: (0x0000) 

  long excess_max_idle_time;
    descriptor: J
    flags: (0x0000) 

  long destroy_overdue_resc_time;
    descriptor: J
    flags: (0x0000) 

  long expiration_enforcement_delay;
    descriptor: J
    flags: (0x0000) 

  boolean break_on_acquisition_failure;
    descriptor: Z
    flags: (0x0000) 

  boolean debug_store_checkout_stacktrace;
    descriptor: Z
    flags: (0x0000) 

  boolean force_synchronous_checkins;
    descriptor: Z
    flags: (0x0000) 

  com.mchange.v2.async.AsynchronousRunner taskRunner;
    descriptor: Lcom/mchange/v2/async/AsynchronousRunner;
    flags: (0x0000) 

  boolean taskRunner_is_external;
    descriptor: Z
    flags: (0x0000) 

  com.mchange.v2.async.RunnableQueue asyncEventQueue;
    descriptor: Lcom/mchange/v2/async/RunnableQueue;
    flags: (0x0000) 

  boolean asyncEventQueue_is_external;
    descriptor: Z
    flags: (0x0000) 

  java.util.Timer timer;
    descriptor: Ljava/util/Timer;
    flags: (0x0000) 

  boolean timer_is_external;
    descriptor: Z
    flags: (0x0000) 

  int default_num_task_threads;
    descriptor: I
    flags: (0x0000) 

  java.util.Set liveChildren;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 

  public static com.mchange.v2.resourcepool.BasicResourcePoolFactory createNoEventSupportInstance(int);
    descriptor: (I)Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int num_task_threads
         0: .line 44
            aconst_null
            aconst_null
            iload 0 /* num_task_threads */
            invokestatic com.mchange.v2.resourcepool.BasicResourcePoolFactory.createNoEventSupportInstance:(Lcom/mchange/v2/async/AsynchronousRunner;Ljava/util/Timer;I)Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            areturn
        end local 0 // int num_task_threads
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  num_task_threads  I
    MethodParameters:
                  Name  Flags
      num_task_threads  

  public static com.mchange.v2.resourcepool.BasicResourcePoolFactory createNoEventSupportInstance(com.mchange.v2.async.AsynchronousRunner, java.util.Timer);
    descriptor: (Lcom/mchange/v2/async/AsynchronousRunner;Ljava/util/Timer;)Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mchange.v2.async.AsynchronousRunner taskRunner
        start local 1 // java.util.Timer timer
         0: .line 48
            aload 0 /* taskRunner */
            aload 1 /* timer */
            iconst_3
            invokestatic com.mchange.v2.resourcepool.BasicResourcePoolFactory.createNoEventSupportInstance:(Lcom/mchange/v2/async/AsynchronousRunner;Ljava/util/Timer;I)Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            areturn
        end local 1 // java.util.Timer timer
        end local 0 // com.mchange.v2.async.AsynchronousRunner taskRunner
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  taskRunner  Lcom/mchange/v2/async/AsynchronousRunner;
            0    1     1       timer  Ljava/util/Timer;
    MethodParameters:
            Name  Flags
      taskRunner  
      timer       

  private static com.mchange.v2.resourcepool.BasicResourcePoolFactory createNoEventSupportInstance(com.mchange.v2.async.AsynchronousRunner, java.util.Timer, int);
    descriptor: (Lcom/mchange/v2/async/AsynchronousRunner;Ljava/util/Timer;I)Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.mchange.v2.async.AsynchronousRunner taskRunner
        start local 1 // java.util.Timer timer
        start local 2 // int default_num_task_threads
         0: .line 55
            new com.mchange.v2.resourcepool.BasicResourcePoolFactory
            dup
            aload 0 /* taskRunner */
         1: .line 56
            aload 1 /* timer */
         2: .line 57
            iload 2 /* default_num_task_threads */
         3: .line 58
            iconst_1
         4: .line 55
            invokespecial com.mchange.v2.resourcepool.BasicResourcePoolFactory.<init>:(Lcom/mchange/v2/async/AsynchronousRunner;Ljava/util/Timer;IZ)V
            areturn
        end local 2 // int default_num_task_threads
        end local 1 // java.util.Timer timer
        end local 0 // com.mchange.v2.async.AsynchronousRunner taskRunner
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    5     0                taskRunner  Lcom/mchange/v2/async/AsynchronousRunner;
            0    5     1                     timer  Ljava/util/Timer;
            0    5     2  default_num_task_threads  I
    MethodParameters:
                          Name  Flags
      taskRunner                
      timer                     
      default_num_task_threads  

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 102
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.mchange.v2.resourcepool.BasicResourcePoolFactory.<init>:(Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;)V
            return
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;

  void <init>(com.mchange.v2.async.AsynchronousRunner, com.mchange.v2.async.RunnableQueue, java.util.Timer);
    descriptor: (Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // com.mchange.v2.async.AsynchronousRunner taskRunner
        start local 2 // com.mchange.v2.async.RunnableQueue asyncEventQueue
        start local 3 // java.util.Timer timer
         0: .line 107
            aload 0 /* this */
            aload 1 /* taskRunner */
            aload 2 /* asyncEventQueue */
            aload 3 /* timer */
            iconst_3
            invokespecial com.mchange.v2.resourcepool.BasicResourcePoolFactory.<init>:(Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;I)V
            return
        end local 3 // java.util.Timer timer
        end local 2 // com.mchange.v2.async.RunnableQueue asyncEventQueue
        end local 1 // com.mchange.v2.async.AsynchronousRunner taskRunner
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1       taskRunner  Lcom/mchange/v2/async/AsynchronousRunner;
            0    1     2  asyncEventQueue  Lcom/mchange/v2/async/RunnableQueue;
            0    1     3            timer  Ljava/util/Timer;
    MethodParameters:
                 Name  Flags
      taskRunner       
      asyncEventQueue  
      timer            

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int num_task_threads
         0: .line 110
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            iload 1 /* num_task_threads */
            invokespecial com.mchange.v2.resourcepool.BasicResourcePoolFactory.<init>:(Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;I)V
            return
        end local 1 // int num_task_threads
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  num_task_threads  I
    MethodParameters:
                  Name  Flags
      num_task_threads  

  void <init>(com.mchange.v2.async.AsynchronousRunner, java.util.Timer, int, boolean);
    descriptor: (Lcom/mchange/v2/async/AsynchronousRunner;Ljava/util/Timer;IZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // com.mchange.v2.async.AsynchronousRunner taskRunner
        start local 2 // java.util.Timer timer
        start local 3 // int default_num_task_threads
        start local 4 // boolean no_event_support
         0: .line 117
            aload 0 /* this */
            aload 1 /* taskRunner */
            aconst_null
            aload 2 /* timer */
            iload 3 /* default_num_task_threads */
            invokespecial com.mchange.v2.resourcepool.BasicResourcePoolFactory.<init>:(Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;I)V
         1: .line 118
            iload 4 /* no_event_support */
            ifeq 3
         2: .line 119
            aload 0 /* this */
            iconst_1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue_is_external:Z
         3: .line 120
      StackMap locals: com.mchange.v2.resourcepool.BasicResourcePoolFactory com.mchange.v2.async.AsynchronousRunner java.util.Timer int int
      StackMap stack:
            return
        end local 4 // boolean no_event_support
        end local 3 // int default_num_task_threads
        end local 2 // java.util.Timer timer
        end local 1 // com.mchange.v2.async.AsynchronousRunner taskRunner
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    4     0                      this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    4     1                taskRunner  Lcom/mchange/v2/async/AsynchronousRunner;
            0    4     2                     timer  Ljava/util/Timer;
            0    4     3  default_num_task_threads  I
            0    4     4          no_event_support  Z
    MethodParameters:
                          Name  Flags
      taskRunner                
      timer                     
      default_num_task_threads  
      no_event_support          

  void <init>(com.mchange.v2.async.AsynchronousRunner, com.mchange.v2.async.RunnableQueue, java.util.Timer, int);
    descriptor: (Lcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // com.mchange.v2.async.AsynchronousRunner taskRunner
        start local 2 // com.mchange.v2.async.RunnableQueue asyncEventQueue
        start local 3 // java.util.Timer timer
        start local 4 // int default_num_task_threads
         0: .line 122
            aload 0 /* this */
            invokespecial com.mchange.v2.resourcepool.ResourcePoolFactory.<init>:()V
         1: .line 61
            aload 0 /* this */
            iconst_m1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.start:I
         2: .line 62
            aload 0 /* this */
            iconst_1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.min:I
         3: .line 63
            aload 0 /* this */
            bipush 12
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max:I
         4: .line 64
            aload 0 /* this */
            iconst_3
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.inc:I
         5: .line 65
            aload 0 /* this */
            iconst_m1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_attempts:I
         6: .line 66
            aload 0 /* this */
            sipush 1000
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_delay:I
         7: .line 67
            aload 0 /* this */
            ldc -1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.idle_resource_test_period:J
         8: .line 68
            aload 0 /* this */
            ldc -1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_age:J
         9: .line 69
            aload 0 /* this */
            ldc -1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_idle_time:J
        10: .line 70
            aload 0 /* this */
            ldc -1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.excess_max_idle_time:J
        11: .line 71
            aload 0 /* this */
            ldc -1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.destroy_overdue_resc_time:J
        12: .line 72
            aload 0 /* this */
            ldc -1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.expiration_enforcement_delay:J
        13: .line 74
            aload 0 /* this */
            iconst_1
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.break_on_acquisition_failure:Z
        14: .line 75
            aload 0 /* this */
            iconst_0
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.debug_store_checkout_stacktrace:Z
        15: .line 76
            aload 0 /* this */
            iconst_0
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.force_synchronous_checkins:Z
        16: .line 127
            aload 0 /* this */
            aload 1 /* taskRunner */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
        17: .line 128
            aload 0 /* this */
            aload 1 /* taskRunner */
            ifnull 18
            iconst_1
            goto 19
      StackMap locals: com.mchange.v2.resourcepool.BasicResourcePoolFactory com.mchange.v2.async.AsynchronousRunner com.mchange.v2.async.RunnableQueue java.util.Timer int
      StackMap stack: com.mchange.v2.resourcepool.BasicResourcePoolFactory
        18: iconst_0
      StackMap locals: com.mchange.v2.resourcepool.BasicResourcePoolFactory com.mchange.v2.async.AsynchronousRunner com.mchange.v2.async.RunnableQueue java.util.Timer int
      StackMap stack: com.mchange.v2.resourcepool.BasicResourcePoolFactory int
        19: putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner_is_external:Z
        20: .line 130
            aload 0 /* this */
            aload 2 /* asyncEventQueue */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
        21: .line 131
            aload 0 /* this */
            aload 2 /* asyncEventQueue */
            ifnull 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack: com.mchange.v2.resourcepool.BasicResourcePoolFactory
        22: iconst_0
      StackMap locals: com.mchange.v2.resourcepool.BasicResourcePoolFactory com.mchange.v2.async.AsynchronousRunner com.mchange.v2.async.RunnableQueue java.util.Timer int
      StackMap stack: com.mchange.v2.resourcepool.BasicResourcePoolFactory int
        23: putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue_is_external:Z
        24: .line 133
            aload 0 /* this */
            aload 3 /* timer */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer:Ljava/util/Timer;
        25: .line 134
            aload 0 /* this */
            aload 3 /* timer */
            ifnull 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack: com.mchange.v2.resourcepool.BasicResourcePoolFactory
        26: iconst_0
      StackMap locals: com.mchange.v2.resourcepool.BasicResourcePoolFactory com.mchange.v2.async.AsynchronousRunner com.mchange.v2.async.RunnableQueue java.util.Timer int
      StackMap stack: com.mchange.v2.resourcepool.BasicResourcePoolFactory int
        27: putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer_is_external:Z
        28: .line 136
            aload 0 /* this */
            iload 4 /* default_num_task_threads */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.default_num_task_threads:I
        29: .line 137
            return
        end local 4 // int default_num_task_threads
        end local 3 // java.util.Timer timer
        end local 2 // com.mchange.v2.async.RunnableQueue asyncEventQueue
        end local 1 // com.mchange.v2.async.AsynchronousRunner taskRunner
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   30     0                      this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0   30     1                taskRunner  Lcom/mchange/v2/async/AsynchronousRunner;
            0   30     2           asyncEventQueue  Lcom/mchange/v2/async/RunnableQueue;
            0   30     3                     timer  Ljava/util/Timer;
            0   30     4  default_num_task_threads  I
    MethodParameters:
                          Name  Flags
      taskRunner                
      asyncEventQueue           
      timer                     
      default_num_task_threads  

  private void createThreadResources();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 141
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner_is_external:Z
            ifne 2
         1: .line 142
            aload 0 /* this */
            new com.mchange.v2.async.ThreadPoolAsynchronousRunner
            dup
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.default_num_task_threads:I
            iconst_1
            invokespecial com.mchange.v2.async.ThreadPoolAsynchronousRunner.<init>:(IZ)V
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
         2: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue_is_external:Z
            ifne 4
         3: .line 144
            aload 0 /* this */
            new com.mchange.v2.async.CarefulRunnableQueue
            dup
            iconst_1
            iconst_0
            invokespecial com.mchange.v2.async.CarefulRunnableQueue.<init>:(ZZ)V
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
         4: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer_is_external:Z
            ifne 6
         5: .line 146
            aload 0 /* this */
            new java.util.Timer
            dup
            iconst_1
            invokespecial java.util.Timer.<init>:(Z)V
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer:Ljava/util/Timer;
         6: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
         7: .line 149
            return
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;

  private void destroyThreadResources();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 153
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner_is_external:Z
            ifne 3
         1: .line 155
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
            invokeinterface com.mchange.v2.async.AsynchronousRunner.close:()V
         2: .line 156
            aload 0 /* this */
            aconst_null
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
         3: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue_is_external:Z
            ifne 6
         4: .line 160
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
            invokeinterface com.mchange.v2.async.RunnableQueue.close:()V
         5: .line 161
            aload 0 /* this */
            aconst_null
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
         6: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer_is_external:Z
            ifne 9
         7: .line 165
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer:Ljava/util/Timer;
            invokevirtual java.util.Timer.cancel:()V
         8: .line 166
            aload 0 /* this */
            aconst_null
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer:Ljava/util/Timer;
         9: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
        10: .line 170
            return
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;

  synchronized void markBroken(com.mchange.v2.resourcepool.BasicResourcePool);
    descriptor: (Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // com.mchange.v2.resourcepool.BasicResourcePool pool
         0: .line 197
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
            ifnull 4
         1: .line 199
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
            aload 1 /* pool */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 200
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 4
         3: .line 201
            aload 0 /* this */
            invokevirtual com.mchange.v2.resourcepool.BasicResourcePoolFactory.destroyThreadResources:()V
         4: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.mchange.v2.resourcepool.BasicResourcePool pool
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    5     1  pool  Lcom/mchange/v2/resourcepool/BasicResourcePool;
    MethodParameters:
      Name  Flags
      pool  

  public synchronized void setStart(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int start
         0: .line 227
            aload 0 /* this */
            iload 1 /* start */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.start:I
            return
        end local 1 // int start
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  start  I
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
       Name  Flags
      start  

  public synchronized int getStart();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 231
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.start:I
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setMin(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int min
         0: .line 235
            aload 0 /* this */
            iload 1 /* min */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.min:I
            return
        end local 1 // int min
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1   min  I
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
      Name  Flags
      min   

  public synchronized int getMin();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 239
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.min:I
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setMax(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int max
         0: .line 243
            aload 0 /* this */
            iload 1 /* max */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max:I
            return
        end local 1 // int max
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1   max  I
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
      Name  Flags
      max   

  public synchronized int getMax();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 247
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max:I
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setIncrement(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int inc
         0: .line 251
            aload 0 /* this */
            iload 1 /* inc */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.inc:I
            return
        end local 1 // int inc
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1   inc  I
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
      Name  Flags
      inc   

  public synchronized int getIncrement();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 255
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.inc:I
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setAcquisitionRetryAttempts(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int retry_attempts
         0: .line 259
            aload 0 /* this */
            iload 1 /* retry_attempts */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_attempts:I
            return
        end local 1 // int retry_attempts
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  retry_attempts  I
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
                Name  Flags
      retry_attempts  

  public synchronized int getAcquisitionRetryAttempts();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 263
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_attempts:I
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setAcquisitionRetryDelay(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // int retry_delay
         0: .line 267
            aload 0 /* this */
            iload 1 /* retry_delay */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_delay:I
            return
        end local 1 // int retry_delay
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  retry_delay  I
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
             Name  Flags
      retry_delay  

  public synchronized int getAcquisitionRetryDelay();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 271
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_delay:I
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setIdleResourceTestPeriod(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // long test_period
         0: .line 274
            aload 0 /* this */
            lload 1 /* test_period */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.idle_resource_test_period:J
            return
        end local 1 // long test_period
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  test_period  J
    MethodParameters:
             Name  Flags
      test_period  

  public synchronized long getIdleResourceTestPeriod();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 277
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.idle_resource_test_period:J
            lreturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;

  public synchronized void setResourceMaxAge(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // long max_age
         0: .line 281
            aload 0 /* this */
            lload 1 /* max_age */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_age:J
            return
        end local 1 // long max_age
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  max_age  J
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
         Name  Flags
      max_age  

  public synchronized long getResourceMaxAge();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 285
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_age:J
            lreturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setResourceMaxIdleTime(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // long millis
         0: .line 289
            aload 0 /* this */
            lload 1 /* millis */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_idle_time:J
            return
        end local 1 // long millis
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  millis  J
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
        Name  Flags
      millis  

  public synchronized long getResourceMaxIdleTime();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 293
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_idle_time:J
            lreturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setExcessResourceMaxIdleTime(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // long millis
         0: .line 297
            aload 0 /* this */
            lload 1 /* millis */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.excess_max_idle_time:J
            return
        end local 1 // long millis
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  millis  J
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
        Name  Flags
      millis  

  public synchronized long getExcessResourceMaxIdleTime();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 301
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.excess_max_idle_time:J
            lreturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized long getDestroyOverdueResourceTime();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 305
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.destroy_overdue_resc_time:J
            lreturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setDestroyOverdueResourceTime(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // long millis
         0: .line 309
            aload 0 /* this */
            lload 1 /* millis */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.destroy_overdue_resc_time:J
            return
        end local 1 // long millis
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  millis  J
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
        Name  Flags
      millis  

  public synchronized void setExpirationEnforcementDelay(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // long expiration_enforcement_delay
         0: .line 313
            aload 0 /* this */
            lload 1 /* expiration_enforcement_delay */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.expiration_enforcement_delay:J
            return
        end local 1 // long expiration_enforcement_delay
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    1     0                          this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  expiration_enforcement_delay  J
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
                              Name  Flags
      expiration_enforcement_delay  

  public synchronized long getExpirationEnforcementDelay();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 317
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.expiration_enforcement_delay:J
            lreturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setBreakOnAcquisitionFailure(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // boolean break_on_acquisition_failure
         0: .line 321
            aload 0 /* this */
            iload 1 /* break_on_acquisition_failure */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.break_on_acquisition_failure:Z
            return
        end local 1 // boolean break_on_acquisition_failure
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    1     0                          this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  break_on_acquisition_failure  Z
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
                              Name  Flags
      break_on_acquisition_failure  

  public synchronized boolean getBreakOnAcquisitionFailure();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 325
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.break_on_acquisition_failure:Z
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setDebugStoreCheckoutStackTrace(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // boolean debug_store_checkout_stacktrace
         0: .line 329
            aload 0 /* this */
            iload 1 /* debug_store_checkout_stacktrace */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.debug_store_checkout_stacktrace:Z
            return
        end local 1 // boolean debug_store_checkout_stacktrace
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    1     0                             this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  debug_store_checkout_stacktrace  Z
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
                                 Name  Flags
      debug_store_checkout_stacktrace  

  public synchronized boolean getDebugStoreCheckoutStackTrace();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 333
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.debug_store_checkout_stacktrace:Z
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized void setForceSynchronousCheckins(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // boolean force_synchronous_checkins
         0: .line 337
            aload 0 /* this */
            iload 1 /* force_synchronous_checkins */
            putfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.force_synchronous_checkins:Z
            return
        end local 1 // boolean force_synchronous_checkins
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    1     0                        this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0    1     1  force_synchronous_checkins  Z
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
                            Name  Flags
      force_synchronous_checkins  

  public synchronized boolean getForceSynchronousCheckins();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
         0: .line 341
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.force_synchronous_checkins:Z
            ireturn
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException

  public synchronized com.mchange.v2.resourcepool.ResourcePool createPool(com.mchange.v2.resourcepool.ResourcePool$Manager);
    descriptor: (Lcom/mchange/v2/resourcepool/ResourcePool$Manager;)Lcom/mchange/v2/resourcepool/ResourcePool;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=28, locals=3, args_size=2
        start local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
        start local 1 // com.mchange.v2.resourcepool.ResourcePool$Manager mgr
         0: .line 346
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
            ifnonnull 2
         1: .line 347
            aload 0 /* this */
            invokevirtual com.mchange.v2.resourcepool.BasicResourcePoolFactory.createThreadResources:()V
         2: .line 349
      StackMap locals:
      StackMap stack:
            new com.mchange.v2.resourcepool.BasicResourcePool
            dup
            aload 1 /* mgr */
         3: .line 350
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.start:I
         4: .line 351
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.min:I
         5: .line 352
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max:I
         6: .line 353
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.inc:I
         7: .line 354
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_attempts:I
         8: .line 355
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.retry_delay:I
         9: .line 356
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.idle_resource_test_period:J
        10: .line 357
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_age:J
        11: .line 358
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.max_idle_time:J
        12: .line 359
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.excess_max_idle_time:J
        13: .line 360
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.destroy_overdue_resc_time:J
        14: .line 361
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.expiration_enforcement_delay:J
        15: .line 362
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.break_on_acquisition_failure:Z
        16: .line 363
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.debug_store_checkout_stacktrace:Z
        17: .line 364
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.force_synchronous_checkins:Z
        18: .line 365
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.taskRunner:Lcom/mchange/v2/async/AsynchronousRunner;
        19: .line 366
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.asyncEventQueue:Lcom/mchange/v2/async/RunnableQueue;
        20: .line 367
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.timer:Ljava/util/Timer;
        21: .line 368
            aload 0 /* this */
        22: .line 349
            invokespecial com.mchange.v2.resourcepool.BasicResourcePool.<init>:(Lcom/mchange/v2/resourcepool/ResourcePool$Manager;IIIIIIJJJJJJZZZLcom/mchange/v2/async/AsynchronousRunner;Lcom/mchange/v2/async/RunnableQueue;Ljava/util/Timer;Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;)V
            astore 2 /* child */
        start local 2 // com.mchange.v2.resourcepool.ResourcePool child
        23: .line 369
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.BasicResourcePoolFactory.liveChildren:Ljava/util/Set;
            aload 2 /* child */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 370
            aload 2 /* child */
            areturn
        end local 2 // com.mchange.v2.resourcepool.ResourcePool child
        end local 1 // com.mchange.v2.resourcepool.ResourcePool$Manager mgr
        end local 0 // com.mchange.v2.resourcepool.BasicResourcePoolFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   25     0   this  Lcom/mchange/v2/resourcepool/BasicResourcePoolFactory;
            0   25     1    mgr  Lcom/mchange/v2/resourcepool/ResourcePool$Manager;
           23   25     2  child  Lcom/mchange/v2/resourcepool/ResourcePool;
    Exceptions:
      throws com.mchange.v2.resourcepool.ResourcePoolException
    MethodParameters:
      Name  Flags
      mgr   
}
SourceFile: "BasicResourcePoolFactory.java"
InnerClasses:
  public abstract Manager = com.mchange.v2.resourcepool.ResourcePool$Manager of com.mchange.v2.resourcepool.ResourcePool