public class com.mchange.v2.resourcepool.ResourcePoolEventSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mchange.v2.resourcepool.ResourcePoolEventSupport
  super_class: java.lang.Object
{
  com.mchange.v2.resourcepool.ResourcePool source;
    descriptor: Lcom/mchange/v2/resourcepool/ResourcePool;
    flags: (0x0000) 

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

  public void <init>(com.mchange.v2.resourcepool.ResourcePool);
    descriptor: (Lcom/mchange/v2/resourcepool/ResourcePool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // com.mchange.v2.resourcepool.ResourcePool source
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
         2: .line 46
            aload 0 /* this */
            aload 1 /* source */
            putfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.source:Lcom/mchange/v2/resourcepool/ResourcePool;
            return
        end local 1 // com.mchange.v2.resourcepool.ResourcePool source
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0    3     1  source  Lcom/mchange/v2/resourcepool/ResourcePool;
    MethodParameters:
        Name  Flags
      source  

  public synchronized void addResourcePoolListener(com.mchange.v2.resourcepool.ResourcePoolListener);
    descriptor: (Lcom/mchange/v2/resourcepool/ResourcePoolListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // com.mchange.v2.resourcepool.ResourcePoolListener mlistener
         0: .line 49
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            aload 1 /* mlistener */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
            return
        end local 1 // com.mchange.v2.resourcepool.ResourcePoolListener mlistener
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0    1     1  mlistener  Lcom/mchange/v2/resourcepool/ResourcePoolListener;
    MethodParameters:
           Name  Flags
      mlistener  

  public synchronized void removeResourcePoolListener(com.mchange.v2.resourcepool.ResourcePoolListener);
    descriptor: (Lcom/mchange/v2/resourcepool/ResourcePoolListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // com.mchange.v2.resourcepool.ResourcePoolListener mlistener
         0: .line 52
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            aload 1 /* mlistener */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
            return
        end local 1 // com.mchange.v2.resourcepool.ResourcePoolListener mlistener
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0    1     1  mlistener  Lcom/mchange/v2/resourcepool/ResourcePoolListener;
    MethodParameters:
           Name  Flags
      mlistener  

  public synchronized void fireResourceAcquired(java.lang.Object, int, int, int);
    descriptor: (Ljava/lang/Object;III)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // java.lang.Object resc
        start local 2 // int pool_size
        start local 3 // int available_size
        start local 4 // int removed_but_unreturned_size
         0: .line 59
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 13
         1: .line 61
            new com.mchange.v2.resourcepool.ResourcePoolEvent
            dup
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.source:Lcom/mchange/v2/resourcepool/ResourcePool;
         2: .line 62
            aload 1 /* resc */
         3: .line 63
            iconst_0
         4: .line 64
            iload 2 /* pool_size */
         5: .line 65
            iload 3 /* available_size */
         6: .line 66
            iload 4 /* removed_but_unreturned_size */
         7: .line 61
            invokespecial com.mchange.v2.resourcepool.ResourcePoolEvent.<init>:(Lcom/mchange/v2/resourcepool/ResourcePool;Ljava/lang/Object;ZIII)V
            astore 5 /* evt */
        start local 5 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
         8: .line 67
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
         9: goto 12
        10: .line 69
      StackMap locals: com.mchange.v2.resourcepool.ResourcePoolEvent java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mchange.v2.resourcepool.ResourcePoolListener
            astore 7 /* rpl */
        start local 7 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        11: .line 70
            aload 7 /* rpl */
            aload 5 /* evt */
            invokeinterface com.mchange.v2.resourcepool.ResourcePoolListener.resourceAcquired:(Lcom/mchange/v2/resourcepool/ResourcePoolEvent;)V
        end local 7 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        12: .line 67
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 6 // java.util.Iterator i
        end local 5 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
        13: .line 73
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int removed_but_unreturned_size
        end local 3 // int available_size
        end local 2 // int pool_size
        end local 1 // java.lang.Object resc
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                         this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0   14     1                         resc  Ljava/lang/Object;
            0   14     2                    pool_size  I
            0   14     3               available_size  I
            0   14     4  removed_but_unreturned_size  I
            8   13     5                          evt  Lcom/mchange/v2/resourcepool/ResourcePoolEvent;
            9   13     6                            i  Ljava/util/Iterator;
           11   12     7                          rpl  Lcom/mchange/v2/resourcepool/ResourcePoolListener;
    MethodParameters:
                             Name  Flags
      resc                         
      pool_size                    
      available_size               
      removed_but_unreturned_size  

  public synchronized void fireResourceCheckedIn(java.lang.Object, int, int, int);
    descriptor: (Ljava/lang/Object;III)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // java.lang.Object resc
        start local 2 // int pool_size
        start local 3 // int available_size
        start local 4 // int removed_but_unreturned_size
         0: .line 80
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 13
         1: .line 82
            new com.mchange.v2.resourcepool.ResourcePoolEvent
            dup
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.source:Lcom/mchange/v2/resourcepool/ResourcePool;
         2: .line 83
            aload 1 /* resc */
         3: .line 84
            iconst_0
         4: .line 85
            iload 2 /* pool_size */
         5: .line 86
            iload 3 /* available_size */
         6: .line 87
            iload 4 /* removed_but_unreturned_size */
         7: .line 82
            invokespecial com.mchange.v2.resourcepool.ResourcePoolEvent.<init>:(Lcom/mchange/v2/resourcepool/ResourcePool;Ljava/lang/Object;ZIII)V
            astore 5 /* evt */
        start local 5 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
         8: .line 88
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
         9: goto 12
        10: .line 90
      StackMap locals: com.mchange.v2.resourcepool.ResourcePoolEvent java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mchange.v2.resourcepool.ResourcePoolListener
            astore 7 /* rpl */
        start local 7 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        11: .line 91
            aload 7 /* rpl */
            aload 5 /* evt */
            invokeinterface com.mchange.v2.resourcepool.ResourcePoolListener.resourceCheckedIn:(Lcom/mchange/v2/resourcepool/ResourcePoolEvent;)V
        end local 7 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        12: .line 88
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 6 // java.util.Iterator i
        end local 5 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
        13: .line 94
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int removed_but_unreturned_size
        end local 3 // int available_size
        end local 2 // int pool_size
        end local 1 // java.lang.Object resc
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                         this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0   14     1                         resc  Ljava/lang/Object;
            0   14     2                    pool_size  I
            0   14     3               available_size  I
            0   14     4  removed_but_unreturned_size  I
            8   13     5                          evt  Lcom/mchange/v2/resourcepool/ResourcePoolEvent;
            9   13     6                            i  Ljava/util/Iterator;
           11   12     7                          rpl  Lcom/mchange/v2/resourcepool/ResourcePoolListener;
    MethodParameters:
                             Name  Flags
      resc                         
      pool_size                    
      available_size               
      removed_but_unreturned_size  

  public synchronized void fireResourceCheckedOut(java.lang.Object, int, int, int);
    descriptor: (Ljava/lang/Object;III)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // java.lang.Object resc
        start local 2 // int pool_size
        start local 3 // int available_size
        start local 4 // int removed_but_unreturned_size
         0: .line 101
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 13
         1: .line 103
            new com.mchange.v2.resourcepool.ResourcePoolEvent
            dup
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.source:Lcom/mchange/v2/resourcepool/ResourcePool;
         2: .line 104
            aload 1 /* resc */
         3: .line 105
            iconst_1
         4: .line 106
            iload 2 /* pool_size */
         5: .line 107
            iload 3 /* available_size */
         6: .line 108
            iload 4 /* removed_but_unreturned_size */
         7: .line 103
            invokespecial com.mchange.v2.resourcepool.ResourcePoolEvent.<init>:(Lcom/mchange/v2/resourcepool/ResourcePool;Ljava/lang/Object;ZIII)V
            astore 5 /* evt */
        start local 5 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
         8: .line 109
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
         9: goto 12
        10: .line 111
      StackMap locals: com.mchange.v2.resourcepool.ResourcePoolEvent java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mchange.v2.resourcepool.ResourcePoolListener
            astore 7 /* rpl */
        start local 7 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        11: .line 112
            aload 7 /* rpl */
            aload 5 /* evt */
            invokeinterface com.mchange.v2.resourcepool.ResourcePoolListener.resourceCheckedOut:(Lcom/mchange/v2/resourcepool/ResourcePoolEvent;)V
        end local 7 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        12: .line 109
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 6 // java.util.Iterator i
        end local 5 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
        13: .line 115
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int removed_but_unreturned_size
        end local 3 // int available_size
        end local 2 // int pool_size
        end local 1 // java.lang.Object resc
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                         this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0   14     1                         resc  Ljava/lang/Object;
            0   14     2                    pool_size  I
            0   14     3               available_size  I
            0   14     4  removed_but_unreturned_size  I
            8   13     5                          evt  Lcom/mchange/v2/resourcepool/ResourcePoolEvent;
            9   13     6                            i  Ljava/util/Iterator;
           11   12     7                          rpl  Lcom/mchange/v2/resourcepool/ResourcePoolListener;
    MethodParameters:
                             Name  Flags
      resc                         
      pool_size                    
      available_size               
      removed_but_unreturned_size  

  public synchronized void fireResourceRemoved(java.lang.Object, boolean, int, int, int);
    descriptor: (Ljava/lang/Object;ZIII)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
        start local 1 // java.lang.Object resc
        start local 2 // boolean checked_out_resource
        start local 3 // int pool_size
        start local 4 // int available_size
        start local 5 // int removed_but_unreturned_size
         0: .line 123
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 13
         1: .line 125
            new com.mchange.v2.resourcepool.ResourcePoolEvent
            dup
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.source:Lcom/mchange/v2/resourcepool/ResourcePool;
         2: .line 126
            aload 1 /* resc */
         3: .line 127
            iload 2 /* checked_out_resource */
         4: .line 128
            iload 3 /* pool_size */
         5: .line 129
            iload 4 /* available_size */
         6: .line 130
            iload 5 /* removed_but_unreturned_size */
         7: .line 125
            invokespecial com.mchange.v2.resourcepool.ResourcePoolEvent.<init>:(Lcom/mchange/v2/resourcepool/ResourcePool;Ljava/lang/Object;ZIII)V
            astore 6 /* evt */
        start local 6 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
         8: .line 131
            aload 0 /* this */
            getfield com.mchange.v2.resourcepool.ResourcePoolEventSupport.mlisteners:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* i */
        start local 7 // java.util.Iterator i
         9: goto 12
        10: .line 133
      StackMap locals: com.mchange.v2.resourcepool.ResourcePoolEvent java.util.Iterator
      StackMap stack:
            aload 7 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mchange.v2.resourcepool.ResourcePoolListener
            astore 8 /* rpl */
        start local 8 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        11: .line 134
            aload 8 /* rpl */
            aload 6 /* evt */
            invokeinterface com.mchange.v2.resourcepool.ResourcePoolListener.resourceRemoved:(Lcom/mchange/v2/resourcepool/ResourcePoolEvent;)V
        end local 8 // com.mchange.v2.resourcepool.ResourcePoolListener rpl
        12: .line 131
      StackMap locals:
      StackMap stack:
            aload 7 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 7 // java.util.Iterator i
        end local 6 // com.mchange.v2.resourcepool.ResourcePoolEvent evt
        13: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int removed_but_unreturned_size
        end local 4 // int available_size
        end local 3 // int pool_size
        end local 2 // boolean checked_out_resource
        end local 1 // java.lang.Object resc
        end local 0 // com.mchange.v2.resourcepool.ResourcePoolEventSupport this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                         this  Lcom/mchange/v2/resourcepool/ResourcePoolEventSupport;
            0   14     1                         resc  Ljava/lang/Object;
            0   14     2         checked_out_resource  Z
            0   14     3                    pool_size  I
            0   14     4               available_size  I
            0   14     5  removed_but_unreturned_size  I
            8   13     6                          evt  Lcom/mchange/v2/resourcepool/ResourcePoolEvent;
            9   13     7                            i  Ljava/util/Iterator;
           11   12     8                          rpl  Lcom/mchange/v2/resourcepool/ResourcePoolListener;
    MethodParameters:
                             Name  Flags
      resc                         
      checked_out_resource         
      pool_size                    
      available_size               
      removed_but_unreturned_size  
}
SourceFile: "ResourcePoolEventSupport.java"