public class org.apache.commons.configuration2.event.BaseEventSource implements org.apache.commons.configuration2.event.EventSource
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration2.event.BaseEventSource
  super_class: java.lang.Object
{
  private org.apache.commons.configuration2.event.EventListenerList eventListeners;
    descriptor: Lorg/apache/commons/configuration2/event/EventListenerList;
    flags: (0x0002) ACC_PRIVATE

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

  private int detailEvents;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.apache.commons.configuration2.event.BaseEventSource.lockDetailEventsCount:Ljava/lang/Object;
         2: .line 82
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.event.BaseEventSource.initListeners:()V
         3: .line 83
            return
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;

  public <T extends org.apache.commons.configuration2.event.Event> java.util.Collection<org.apache.commons.configuration2.event.EventListener<? super T>> getEventListeners(org.apache.commons.configuration2.event.EventType<T>);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
         0: .line 99
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
         1: .line 98
            astore 2 /* result */
        start local 2 // java.util.List result
         2: .line 100
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         3: .line 101
            aload 1 /* eventType */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getEventListeners:(Lorg/apache/commons/configuration2/event/EventType;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.apache.commons.configuration2.event.BaseEventSource org.apache.commons.configuration2.event.EventType java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.event.EventListener
            astore 3 /* l */
        start local 3 // org.apache.commons.configuration2.event.EventListener l
         5: .line 103
            aload 2 /* result */
            aload 3 /* l */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.commons.configuration2.event.EventListener l
         6: .line 100
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 105
            aload 2 /* result */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.List result
        end local 1 // org.apache.commons.configuration2.event.EventType eventType
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    8     1  eventType  Lorg/apache/commons/configuration2/event/EventType<TT;>;
            2    8     2     result  Ljava/util/List<Lorg/apache/commons/configuration2/event/EventListener<-TT;>;>;
            5    6     3          l  Lorg/apache/commons/configuration2/event/EventListener<-TT;>;
    Signature: <T:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventType<TT;>;)Ljava/util/Collection<Lorg/apache/commons/configuration2/event/EventListener<-TT;>;>;
    MethodParameters:
           Name  Flags
      eventType  final

  public java.util.List<org.apache.commons.configuration2.event.EventListenerRegistrationData<?>> getEventListenerRegistrations();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 117
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getRegistrations:()Ljava/util/List;
            areturn
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;
    Signature: ()Ljava/util/List<Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<*>;>;

  public boolean isDetailEvents();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 127
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.configuration2.event.BaseEventSource.checkDetailEvents:(I)Z
            ireturn
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;

  public void setDetailEvents(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // boolean enable
         0: .line 141
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.lockDetailEventsCount:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 143
            iload 1 /* enable */
            ifeq 4
         2: .line 145
            aload 0 /* this */
            dup
            getfield org.apache.commons.configuration2.event.BaseEventSource.detailEvents:I
            iconst_1
            iadd
            putfield org.apache.commons.configuration2.event.BaseEventSource.detailEvents:I
         3: .line 146
            goto 5
         4: .line 149
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.configuration2.event.BaseEventSource.detailEvents:I
            iconst_1
            isub
            putfield org.apache.commons.configuration2.event.BaseEventSource.detailEvents:I
         5: .line 141
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 152
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enable
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0   10     1  enable  Z
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
        Name  Flags
      enable  final

  public <T extends org.apache.commons.configuration2.event.Event> void addEventListener(org.apache.commons.configuration2.event.EventType<T>, org.apache.commons.configuration2.event.EventListener<? super T>);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 158
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* eventType */
            aload 2 /* listener */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.addEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
         1: .line 159
            return
        end local 2 // org.apache.commons.configuration2.event.EventListener listener
        end local 1 // org.apache.commons.configuration2.event.EventType eventType
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    2     1  eventType  Lorg/apache/commons/configuration2/event/EventType<TT;>;
            0    2     2   listener  Lorg/apache/commons/configuration2/event/EventListener<-TT;>;
    Signature: <T:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventType<TT;>;Lorg/apache/commons/configuration2/event/EventListener<-TT;>;)V
    MethodParameters:
           Name  Flags
      eventType  final
      listener   final

  public <T extends org.apache.commons.configuration2.event.Event> boolean removeEventListener(org.apache.commons.configuration2.event.EventType<T>, org.apache.commons.configuration2.event.EventListener<? super T>);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 165
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* eventType */
            aload 2 /* listener */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.removeEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)Z
            ireturn
        end local 2 // org.apache.commons.configuration2.event.EventListener listener
        end local 1 // org.apache.commons.configuration2.event.EventType eventType
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    1     1  eventType  Lorg/apache/commons/configuration2/event/EventType<TT;>;
            0    1     2   listener  Lorg/apache/commons/configuration2/event/EventListener<-TT;>;
    Signature: <T:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventType<TT;>;Lorg/apache/commons/configuration2/event/EventListener<-TT;>;)Z
    MethodParameters:
           Name  Flags
      eventType  final
      listener   final

  public void clearEventListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 173
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.clear:()V
         1: .line 174
            return
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;

  public void clearErrorListeners();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 183
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         1: .line 184
            getstatic org.apache.commons.configuration2.event.ConfigurationErrorEvent.ANY:Lorg/apache/commons/configuration2/event/EventType;
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getRegistrationsForSuperType:(Lorg/apache/commons/configuration2/event/EventType;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.apache.commons.configuration2.event.BaseEventSource top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.event.EventListenerRegistrationData
            astore 1 /* reg */
        start local 1 // org.apache.commons.configuration2.event.EventListenerRegistrationData reg
         3: .line 186
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* reg */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.removeEventListener:(Lorg/apache/commons/configuration2/event/EventListenerRegistrationData;)Z
            pop
        end local 1 // org.apache.commons.configuration2.event.EventListenerRegistrationData reg
         4: .line 183
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 188
            return
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            3    4     1   reg  Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<+Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;>;

  public void copyEventListeners(org.apache.commons.configuration2.event.BaseEventSource);
    descriptor: (Lorg/apache/commons/configuration2/event/BaseEventSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.BaseEventSource source
         0: .line 201
            aload 1 /* source */
            ifnonnull 4
         1: .line 203
            new java.lang.IllegalArgumentException
            dup
         2: .line 204
            ldc "Target event source must not be null!"
         3: .line 203
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.addAll:(Lorg/apache/commons/configuration2/event/EventListenerList;)V
         5: .line 207
            return
        end local 1 // org.apache.commons.configuration2.event.BaseEventSource source
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    6     1  source  Lorg/apache/commons/configuration2/event/BaseEventSource;
    MethodParameters:
        Name  Flags
      source  final

  protected <T extends org.apache.commons.configuration2.event.ConfigurationEvent> void fireEvent(org.apache.commons.configuration2.event.EventType<T>, java.lang.String, , );
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType type
        start local 2 // java.lang.String propName
        start local 3 // java.lang.Object propValue
        start local 4 // boolean before
         0: .line 224
            aload 0 /* this */
            iconst_m1
            invokevirtual org.apache.commons.configuration2.event.BaseEventSource.checkDetailEvents:(I)Z
            ifeq 9
         1: .line 227
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* type */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getEventListenerIterator:(Lorg/apache/commons/configuration2/event/EventType;)Lorg/apache/commons/configuration2/event/EventListenerList$EventListenerIterator;
         2: .line 226
            astore 5 /* it */
        start local 5 // org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator it
         3: .line 228
            aload 5 /* it */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator.hasNext:()Z
            ifeq 9
         4: .line 231
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* propName */
            aload 3 /* propValue */
            iload 4 /* before */
            invokevirtual org.apache.commons.configuration2.event.BaseEventSource.createEvent:(Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Z)Lorg/apache/commons/configuration2/event/ConfigurationEvent;
         5: .line 230
            astore 6 /* event */
        start local 6 // org.apache.commons.configuration2.event.ConfigurationEvent event
         6: .line 232
            goto 8
         7: .line 234
      StackMap locals: org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator org.apache.commons.configuration2.event.ConfigurationEvent
      StackMap stack:
            aload 5 /* it */
            aload 6 /* event */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator.invokeNext:(Lorg/apache/commons/configuration2/event/Event;)V
         8: .line 232
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator.hasNext:()Z
            ifne 7
        end local 6 // org.apache.commons.configuration2.event.ConfigurationEvent event
        end local 5 // org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator it
         9: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean before
        end local 3 // java.lang.Object propValue
        end local 2 // java.lang.String propName
        end local 1 // org.apache.commons.configuration2.event.EventType type
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0   10     1       type  Lorg/apache/commons/configuration2/event/EventType<TT;>;
            0   10     2   propName  Ljava/lang/String;
            0   10     3  propValue  Ljava/lang/Object;
            0   10     4     before  Z
            3    9     5         it  Lorg/apache/commons/configuration2/event/EventListenerList$EventListenerIterator<TT;>;
            6    9     6      event  Lorg/apache/commons/configuration2/event/ConfigurationEvent;
    Signature: <T:Lorg/apache/commons/configuration2/event/ConfigurationEvent;>(Lorg/apache/commons/configuration2/event/EventType<TT;>;Ljava/lang/String;Ljava/lang/Object;Z)V
    MethodParameters:
           Name  Flags
      type       final
      propName   final
      propValue  final
      before     final

  protected <T extends org.apache.commons.configuration2.event.ConfigurationEvent> org.apache.commons.configuration2.event.ConfigurationEvent createEvent(org.apache.commons.configuration2.event.EventType<T>, java.lang.String, , boolean);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Z)Lorg/apache/commons/configuration2/event/ConfigurationEvent;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType type
        start local 2 // java.lang.String propName
        start local 3 // java.lang.Object propValue
        start local 4 // boolean before
         0: .line 255
            new org.apache.commons.configuration2.event.ConfigurationEvent
            dup
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* propName */
            aload 3 /* propValue */
            iload 4 /* before */
            invokespecial org.apache.commons.configuration2.event.ConfigurationEvent.<init>:(Ljava/lang/Object;Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Z)V
            areturn
        end local 4 // boolean before
        end local 3 // java.lang.Object propValue
        end local 2 // java.lang.String propName
        end local 1 // org.apache.commons.configuration2.event.EventType type
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    1     1       type  Lorg/apache/commons/configuration2/event/EventType<TT;>;
            0    1     2   propName  Ljava/lang/String;
            0    1     3  propValue  Ljava/lang/Object;
            0    1     4     before  Z
    Signature: <T:Lorg/apache/commons/configuration2/event/ConfigurationEvent;>(Lorg/apache/commons/configuration2/event/EventType<TT;>;Ljava/lang/String;Ljava/lang/Object;Z)Lorg/apache/commons/configuration2/event/ConfigurationEvent;
    MethodParameters:
           Name  Flags
      type       final
      propName   final
      propValue  final
      before     final

  public <T extends org.apache.commons.configuration2.event.ConfigurationErrorEvent> void fireError(org.apache.commons.configuration2.event.EventType<T>, org.apache.commons.configuration2.event.EventType<?>, java.lang.String, , java.lang.Throwable);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventType operationType
        start local 3 // java.lang.String propertyName
        start local 4 // java.lang.Object propertyValue
        start local 5 // java.lang.Throwable cause
         0: .line 276
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* eventType */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getEventListenerIterator:(Lorg/apache/commons/configuration2/event/EventType;)Lorg/apache/commons/configuration2/event/EventListenerList$EventListenerIterator;
         1: .line 275
            astore 6 /* iterator */
        start local 6 // org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator iterator
         2: .line 277
            aload 6 /* iterator */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator.hasNext:()Z
            ifeq 10
         3: .line 280
            aload 0 /* this */
            aload 1 /* eventType */
            aload 2 /* operationType */
            aload 3 /* propertyName */
         4: .line 281
            aload 4 /* propertyValue */
            aload 5 /* cause */
         5: .line 280
            invokevirtual org.apache.commons.configuration2.event.BaseEventSource.createErrorEvent:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;
         6: .line 279
            astore 7 /* event */
        start local 7 // org.apache.commons.configuration2.event.ConfigurationErrorEvent event
         7: .line 282
            goto 9
         8: .line 284
      StackMap locals: org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator org.apache.commons.configuration2.event.ConfigurationErrorEvent
      StackMap stack:
            aload 6 /* iterator */
            aload 7 /* event */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator.invokeNext:(Lorg/apache/commons/configuration2/event/Event;)V
         9: .line 282
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator.hasNext:()Z
            ifne 8
        end local 7 // org.apache.commons.configuration2.event.ConfigurationErrorEvent event
        10: .line 287
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator iterator
        end local 5 // java.lang.Throwable cause
        end local 4 // java.lang.Object propertyValue
        end local 3 // java.lang.String propertyName
        end local 2 // org.apache.commons.configuration2.event.EventType operationType
        end local 1 // org.apache.commons.configuration2.event.EventType eventType
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0   11     1      eventType  Lorg/apache/commons/configuration2/event/EventType<TT;>;
            0   11     2  operationType  Lorg/apache/commons/configuration2/event/EventType<*>;
            0   11     3   propertyName  Ljava/lang/String;
            0   11     4  propertyValue  Ljava/lang/Object;
            0   11     5          cause  Ljava/lang/Throwable;
            2   11     6       iterator  Lorg/apache/commons/configuration2/event/EventListenerList$EventListenerIterator<TT;>;
            7   10     7          event  Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;
    Signature: <T:Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;>(Lorg/apache/commons/configuration2/event/EventType<TT;>;Lorg/apache/commons/configuration2/event/EventType<*>;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
    MethodParameters:
               Name  Flags
      eventType      final
      operationType  final
      propertyName   final
      propertyValue  final
      cause          final

  protected org.apache.commons.configuration2.event.ConfigurationErrorEvent createErrorEvent(org.apache.commons.configuration2.event.EventType<? extends org.apache.commons.configuration2.event.ConfigurationErrorEvent>, org.apache.commons.configuration2.event.EventType<?>, java.lang.String, , java.lang.Throwable);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // org.apache.commons.configuration2.event.EventType type
        start local 2 // org.apache.commons.configuration2.event.EventType opType
        start local 3 // java.lang.String propName
        start local 4 // java.lang.Object propValue
        start local 5 // java.lang.Throwable ex
         0: .line 305
            new org.apache.commons.configuration2.event.ConfigurationErrorEvent
            dup
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* opType */
            aload 3 /* propName */
         1: .line 306
            aload 4 /* propValue */
            aload 5 /* ex */
         2: .line 305
            invokespecial org.apache.commons.configuration2.event.ConfigurationErrorEvent.<init>:(Ljava/lang/Object;Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
            areturn
        end local 5 // java.lang.Throwable ex
        end local 4 // java.lang.Object propValue
        end local 3 // java.lang.String propName
        end local 2 // org.apache.commons.configuration2.event.EventType opType
        end local 1 // org.apache.commons.configuration2.event.EventType type
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    3     1       type  Lorg/apache/commons/configuration2/event/EventType<+Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;>;
            0    3     2     opType  Lorg/apache/commons/configuration2/event/EventType<*>;
            0    3     3   propName  Ljava/lang/String;
            0    3     4  propValue  Ljava/lang/Object;
            0    3     5         ex  Ljava/lang/Throwable;
    Signature: (Lorg/apache/commons/configuration2/event/EventType<+Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;>;Lorg/apache/commons/configuration2/event/EventType<*>;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)Lorg/apache/commons/configuration2/event/ConfigurationErrorEvent;
    MethodParameters:
           Name  Flags
      type       final
      opType     final
      propName   final
      propValue  final
      ex         final

  protected java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 322
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.event.BaseEventSource
            astore 1 /* copy */
        start local 1 // org.apache.commons.configuration2.event.BaseEventSource copy
         1: .line 323
            aload 1 /* copy */
            invokevirtual org.apache.commons.configuration2.event.BaseEventSource.initListeners:()V
         2: .line 324
            aload 1 /* copy */
            areturn
        end local 1 // org.apache.commons.configuration2.event.BaseEventSource copy
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            1    3     1  copy  Lorg/apache/commons/configuration2/event/BaseEventSource;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  private void initListeners();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
         0: .line 332
            aload 0 /* this */
            new org.apache.commons.configuration2.event.EventListenerList
            dup
            invokespecial org.apache.commons.configuration2.event.EventListenerList.<init>:()V
            putfield org.apache.commons.configuration2.event.BaseEventSource.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         1: .line 333
            return
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/event/BaseEventSource;

  private boolean checkDetailEvents(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.event.BaseEventSource this
        start local 1 // int limit
         0: .line 345
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.lockDetailEventsCount:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 347
            aload 0 /* this */
            getfield org.apache.commons.configuration2.event.BaseEventSource.detailEvents:I
            iload 1 /* limit */
            if_icmple 2
            iconst_1
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: aload 2
            monitorexit
         4: ireturn
         5: .line 345
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         6: athrow
        end local 1 // int limit
        end local 0 // org.apache.commons.configuration2.event.BaseEventSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/commons/configuration2/event/BaseEventSource;
            0    7     1  limit  I
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
       Name  Flags
      limit  final
}
SourceFile: "BaseEventSource.java"
InnerClasses:
  public final EventListenerIterator = org.apache.commons.configuration2.event.EventListenerList$EventListenerIterator of org.apache.commons.configuration2.event.EventListenerList