public class org.apache.commons.configuration2.reloading.ReloadingController 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.reloading.ReloadingController
  super_class: java.lang.Object
{
  private final org.apache.commons.configuration2.reloading.ReloadingDetector detector;
    descriptor: Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.configuration2.event.EventListenerList listeners;
    descriptor: Lorg/apache/commons/configuration2/event/EventListenerList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean reloadingState;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.apache.commons.configuration2.reloading.ReloadingDetector);
    descriptor: (Lorg/apache/commons/configuration2/reloading/ReloadingDetector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
        start local 1 // org.apache.commons.configuration2.reloading.ReloadingDetector detect
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 87
            aload 1 /* detect */
            ifnonnull 5
         2: .line 89
            new java.lang.IllegalArgumentException
            dup
         3: .line 90
            ldc "ReloadingDetector must not be null!"
         4: .line 89
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 93
      StackMap locals: org.apache.commons.configuration2.reloading.ReloadingController org.apache.commons.configuration2.reloading.ReloadingDetector
      StackMap stack:
            aload 0 /* this */
            aload 1 /* detect */
            putfield org.apache.commons.configuration2.reloading.ReloadingController.detector:Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
         6: .line 94
            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.reloading.ReloadingController.listeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         7: .line 95
            return
        end local 1 // org.apache.commons.configuration2.reloading.ReloadingDetector detect
        end local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/commons/configuration2/reloading/ReloadingController;
            0    8     1  detect  Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
    MethodParameters:
        Name  Flags
      detect  final

  public org.apache.commons.configuration2.reloading.ReloadingDetector getDetector();
    descriptor: ()Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
         0: .line 104
            aload 0 /* this */
            getfield org.apache.commons.configuration2.reloading.ReloadingController.detector:Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
            areturn
        end local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/reloading/ReloadingController;

  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.reloading.ReloadingController this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 114
            aload 0 /* this */
            getfield org.apache.commons.configuration2.reloading.ReloadingController.listeners: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 115
            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.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/configuration2/reloading/ReloadingController;
            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.reloading.ReloadingController this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 121
            aload 0 /* this */
            getfield org.apache.commons.configuration2.reloading.ReloadingController.listeners: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.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/configuration2/reloading/ReloadingController;
            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 synchronized boolean isInReloadingState();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
         0: .line 135
            aload 0 /* this */
            getfield org.apache.commons.configuration2.reloading.ReloadingController.reloadingState:Z
            ireturn
        end local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/reloading/ReloadingController;

  public boolean checkForReloading(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
        start local 1 // java.lang.Object data
         0: .line 156
            iconst_0
            istore 2 /* sendEvent */
        start local 2 // boolean sendEvent
         1: .line 157
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 159
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.reloading.ReloadingController.isInReloadingState:()Z
            ifeq 5
         3: .line 161
            aload 3
            monitorexit
         4: iconst_1
            ireturn
         5: .line 163
      StackMap locals: int org.apache.commons.configuration2.reloading.ReloadingController
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.reloading.ReloadingController.getDetector:()Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
            invokeinterface org.apache.commons.configuration2.reloading.ReloadingDetector.isReloadingRequired:()Z
            ifeq 8
         6: .line 165
            iconst_1
            istore 2 /* sendEvent */
         7: .line 166
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.configuration2.reloading.ReloadingController.reloadingState:Z
         8: .line 157
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        12: .line 170
      StackMap locals:
      StackMap stack:
            iload 2 /* sendEvent */
            ifeq 15
        13: .line 172
            aload 0 /* this */
            getfield org.apache.commons.configuration2.reloading.ReloadingController.listeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            new org.apache.commons.configuration2.reloading.ReloadingEvent
            dup
            aload 0 /* this */
            aload 1 /* data */
            invokespecial org.apache.commons.configuration2.reloading.ReloadingEvent.<init>:(Lorg/apache/commons/configuration2/reloading/ReloadingController;Ljava/lang/Object;)V
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.fire:(Lorg/apache/commons/configuration2/event/Event;)V
        14: .line 173
            iconst_1
            ireturn
        15: .line 175
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // boolean sendEvent
        end local 1 // java.lang.Object data
        end local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/apache/commons/configuration2/reloading/ReloadingController;
            0   16     1       data  Ljava/lang/Object;
            1   16     2  sendEvent  Z
      Exception table:
        from    to  target  type
           2     4      10  any
           5     9      10  any
          10    11      10  any
    MethodParameters:
      Name  Flags
      data  final

  public synchronized void resetReloadingState();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
         0: .line 185
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.reloading.ReloadingController.isInReloadingState:()Z
            ifeq 3
         1: .line 187
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.reloading.ReloadingController.getDetector:()Lorg/apache/commons/configuration2/reloading/ReloadingDetector;
            invokeinterface org.apache.commons.configuration2.reloading.ReloadingDetector.reloadingPerformed:()V
         2: .line 188
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.configuration2.reloading.ReloadingController.reloadingState:Z
         3: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.configuration2.reloading.ReloadingController this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration2/reloading/ReloadingController;
}
SourceFile: "ReloadingController.java"