public class org.apache.tomcat.util.modeler.BaseNotificationBroadcaster implements javax.management.NotificationBroadcaster
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster
  super_class: java.lang.Object
{
  protected java.util.ArrayList<org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry> entries;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/ArrayList<Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcasterEntry;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
         2: .line 57
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
         3: .line 43
            return
        end local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcaster;

  public void addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
    descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
        start local 1 // javax.management.NotificationListener listener
        start local 2 // javax.management.NotificationFilter filter
        start local 3 // java.lang.Object handback
         0: .line 80
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            dup
            astore 4
            monitorenter
         1: .line 83
            aload 2 /* filter */
            instanceof org.apache.tomcat.util.modeler.BaseAttributeFilter
            ifeq 25
         2: .line 84
            aload 2 /* filter */
            checkcast org.apache.tomcat.util.modeler.BaseAttributeFilter
            astore 5 /* newFilter */
        start local 5 // org.apache.tomcat.util.modeler.BaseAttributeFilter newFilter
         3: .line 85
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 24
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.NotificationListener javax.management.NotificationFilter java.lang.Object java.util.ArrayList org.apache.tomcat.util.modeler.BaseAttributeFilter top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry
            astore 6 /* item */
        start local 6 // org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry item
         5: .line 86
            aload 6 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.listener:Ljavax/management/NotificationListener;
            aload 1 /* listener */
            if_acmpne 24
         6: .line 87
            aload 6 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.filter:Ljavax/management/NotificationFilter;
            ifnull 24
         7: .line 88
            aload 6 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.filter:Ljavax/management/NotificationFilter;
            instanceof org.apache.tomcat.util.modeler.BaseAttributeFilter
            ifeq 24
         8: .line 89
            aload 6 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.handback:Ljava/lang/Object;
            aload 3 /* handback */
            if_acmpne 24
         9: .line 91
            aload 6 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.filter:Ljavax/management/NotificationFilter;
            checkcast org.apache.tomcat.util.modeler.BaseAttributeFilter
        10: .line 90
            astore 8 /* oldFilter */
        start local 8 // org.apache.tomcat.util.modeler.BaseAttributeFilter oldFilter
        11: .line 92
            aload 5 /* newFilter */
            invokevirtual org.apache.tomcat.util.modeler.BaseAttributeFilter.getNames:()[Ljava/lang/String;
            astore 9 /* newNames */
        start local 9 // java.lang.String[] newNames
        12: .line 93
            aload 8 /* oldFilter */
            invokevirtual org.apache.tomcat.util.modeler.BaseAttributeFilter.getNames:()[Ljava/lang/String;
            astore 10 /* oldNames */
        start local 10 // java.lang.String[] oldNames
        13: .line 94
            aload 9 /* newNames */
            arraylength
            ifne 16
        14: .line 95
            aload 8 /* oldFilter */
            invokevirtual org.apache.tomcat.util.modeler.BaseAttributeFilter.clear:()V
        15: .line 96
            goto 22
        16: .line 97
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.NotificationListener javax.management.NotificationFilter java.lang.Object java.util.ArrayList org.apache.tomcat.util.modeler.BaseAttributeFilter org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry java.util.Iterator org.apache.tomcat.util.modeler.BaseAttributeFilter java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 10 /* oldNames */
            arraylength
            ifeq 22
        17: .line 98
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        18: goto 21
        19: .line 99
      StackMap locals: int
      StackMap stack:
            aload 8 /* oldFilter */
            aload 9 /* newNames */
            iload 11 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.modeler.BaseAttributeFilter.addAttribute:(Ljava/lang/String;)V
        20: .line 98
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 11 /* i */
            aload 9 /* newNames */
            arraylength
            if_icmplt 19
        end local 11 // int i
        22: .line 102
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        23: return
        end local 10 // java.lang.String[] oldNames
        end local 9 // java.lang.String[] newNames
        end local 8 // org.apache.tomcat.util.modeler.BaseAttributeFilter oldFilter
        end local 6 // org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry item
        24: .line 85
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.NotificationListener javax.management.NotificationFilter java.lang.Object java.util.ArrayList org.apache.tomcat.util.modeler.BaseAttributeFilter top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 5 // org.apache.tomcat.util.modeler.BaseAttributeFilter newFilter
        25: .line 108
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.NotificationListener javax.management.NotificationFilter java.lang.Object java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            new org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry
            dup
        26: .line 109
            aload 1 /* listener */
            aload 2 /* filter */
            aload 3 /* handback */
            invokespecial org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.<init>:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
        27: .line 108
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 80
            aload 4
            monitorexit
        29: goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: aload 4
            monitorexit
        31: athrow
        32: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object handback
        end local 2 // javax.management.NotificationFilter filter
        end local 1 // javax.management.NotificationListener listener
        end local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcaster;
            0   33     1   listener  Ljavax/management/NotificationListener;
            0   33     2     filter  Ljavax/management/NotificationFilter;
            0   33     3   handback  Ljava/lang/Object;
            3   25     5  newFilter  Lorg/apache/tomcat/util/modeler/BaseAttributeFilter;
            5   24     6       item  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcasterEntry;
           11   24     8  oldFilter  Lorg/apache/tomcat/util/modeler/BaseAttributeFilter;
           12   24     9   newNames  [Ljava/lang/String;
           13   24    10   oldNames  [Ljava/lang/String;
           18   22    11          i  I
      Exception table:
        from    to  target  type
           1    23      30  any
          24    29      30  any
          30    31      30  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
          Name  Flags
      listener  
      filter    
      handback  

  public javax.management.MBeanNotificationInfo[] getNotificationInfo();
    descriptor: ()[Ljavax/management/MBeanNotificationInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
         0: .line 121
            iconst_0
            anewarray javax.management.MBeanNotificationInfo
            areturn
        end local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcaster;

  public void removeNotificationListener(javax.management.NotificationListener);
    descriptor: (Ljavax/management/NotificationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
        start local 1 // javax.management.NotificationListener listener
         0: .line 138
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 140
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
         2: .line 139
            astore 3 /* items */
        start local 3 // java.util.Iterator items
         3: .line 141
            goto 7
         4: .line 142
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 3 /* items */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry
            astore 4 /* item */
        start local 4 // org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry item
         5: .line 143
            aload 4 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.listener:Ljavax/management/NotificationListener;
            aload 1 /* listener */
            if_acmpne 7
         6: .line 144
            aload 3 /* items */
            invokeinterface java.util.Iterator.remove:()V
        end local 4 // org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry item
         7: .line 141
      StackMap locals:
      StackMap stack:
            aload 3 /* items */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator items
         8: .line 138
            aload 2
            monitorexit
         9: goto 12
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.NotificationListener java.util.ArrayList
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 148
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.management.NotificationListener listener
        end local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcaster;
            0   13     1  listener  Ljavax/management/NotificationListener;
            3    8     3     items  Ljava/util/Iterator<Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcasterEntry;>;
            5    7     4      item  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcasterEntry;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Exceptions:
      throws javax.management.ListenerNotFoundException
    MethodParameters:
          Name  Flags
      listener  

  public void sendNotification(javax.management.Notification);
    descriptor: (Ljavax/management/Notification;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
        start local 1 // javax.management.Notification notification
         0: .line 158
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            dup
            astore 2
            monitorenter
         1: .line 159
            aload 0 /* this */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcaster.entries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.Notification java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry
            astore 3 /* item */
        start local 3 // org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry item
         3: .line 160
            aload 3 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.filter:Ljavax/management/NotificationFilter;
            ifnull 6
         4: .line 161
            aload 3 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.filter:Ljavax/management/NotificationFilter;
            aload 1 /* notification */
            invokeinterface javax.management.NotificationFilter.isNotificationEnabled:(Ljavax/management/Notification;)Z
            ifne 6
         5: .line 162
            goto 7
         6: .line 163
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.Notification java.util.ArrayList org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry java.util.Iterator
      StackMap stack:
            aload 3 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.listener:Ljavax/management/NotificationListener;
            aload 1 /* notification */
            aload 3 /* item */
            getfield org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry.handback:Ljava/lang/Object;
            invokeinterface javax.management.NotificationListener.handleNotification:(Ljavax/management/Notification;Ljava/lang/Object;)V
        end local 3 // org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry item
         7: .line 159
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.Notification java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 158
            aload 2
            monitorexit
         9: goto 12
      StackMap locals: org.apache.tomcat.util.modeler.BaseNotificationBroadcaster javax.management.Notification java.util.ArrayList
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.management.Notification notification
        end local 0 // org.apache.tomcat.util.modeler.BaseNotificationBroadcaster this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcaster;
            0   13     1  notification  Ljavax/management/Notification;
            3    7     3          item  Lorg/apache/tomcat/util/modeler/BaseNotificationBroadcasterEntry;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    MethodParameters:
              Name  Flags
      notification  
}
SourceFile: "BaseNotificationBroadcaster.java"