public class org.apache.commons.configuration2.builder.BasicConfigurationBuilder<T extends org.apache.commons.configuration2.ImmutableConfiguration> implements org.apache.commons.configuration2.builder.ConfigurationBuilder<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration2.builder.BasicConfigurationBuilder
  super_class: java.lang.Object
{
  private final java.lang.Class<? extends T> resultClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<+TT;>;

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

  private final boolean allowFailOnInit;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<java.lang.String, java.lang.Object> parameters;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private org.apache.commons.configuration2.beanutils.BeanDeclaration resultDeclaration;
    descriptor: Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
    flags: (0x0002) ACC_PRIVATE

  private volatile T result;
    descriptor: Lorg/apache/commons/configuration2/ImmutableConfiguration;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: TT;

  public void <init>(java.lang.Class<? extends T>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.lang.Class resCls
         0: .line 139
            aload 0 /* this */
            aload 1 /* resCls */
            aconst_null
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.<init>:(Ljava/lang/Class;Ljava/util/Map;)V
         1: .line 140
            return
        end local 1 // java.lang.Class resCls
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  resCls  Ljava/lang/Class<+TT;>;
    Signature: (Ljava/lang/Class<+TT;>;)V
    MethodParameters:
        Name  Flags
      resCls  final

  public void <init>(java.lang.Class<? extends T>, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.lang.Class resCls
        start local 2 // java.util.Map params
         0: .line 154
            aload 0 /* this */
            aload 1 /* resCls */
            aload 2 /* params */
            iconst_0
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.<init>:(Ljava/lang/Class;Ljava/util/Map;Z)V
         1: .line 155
            return
        end local 2 // java.util.Map params
        end local 1 // java.lang.Class resCls
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  resCls  Ljava/lang/Class<+TT;>;
            0    2     2  params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/lang/Class<+TT;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
        Name  Flags
      resCls  final
      params  final

  public void <init>(java.lang.Class<? extends T>, java.util.Map<java.lang.String, java.lang.Object>, );
    descriptor: (Ljava/lang/Class;Ljava/util/Map;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.lang.Class resCls
        start local 2 // java.util.Map params
        start local 3 // boolean allowFailOnInit
         0: .line 170
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 173
            aload 1 /* resCls */
            ifnonnull 3
         2: .line 175
            new java.lang.IllegalArgumentException
            dup
            ldc "Result class must not be null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 178
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder java.lang.Class java.util.Map int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resCls */
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resultClass:Ljava/lang/Class;
         4: .line 179
            aload 0 /* this */
            iload 3 /* allowFailOnInit */
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.allowFailOnInit:Z
         5: .line 180
            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.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         6: .line 181
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.updateParameters:(Ljava/util/Map;)V
         7: .line 182
            return
        end local 3 // boolean allowFailOnInit
        end local 2 // java.util.Map params
        end local 1 // java.lang.Class resCls
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    8     1           resCls  Ljava/lang/Class<+TT;>;
            0    8     2           params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0    8     3  allowFailOnInit  Z
    Signature: (Ljava/lang/Class<+TT;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Z)V
    MethodParameters:
                 Name  Flags
      resCls           final
      params           final
      allowFailOnInit  final

  public java.lang.Class<? extends T> getResultClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 192
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resultClass:Ljava/lang/Class;
            areturn
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
    Signature: ()Ljava/lang/Class<+TT;>;

  public boolean isAllowFailOnInit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 203
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.allowFailOnInit:Z
            ireturn
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;

  public synchronized org.apache.commons.configuration2.builder.BasicConfigurationBuilder<T> setParameters(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.util.Map params
         0: .line 217
            aload 0 /* this */
            aload 1 /* params */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.updateParameters:(Ljava/util/Map;)V
         1: .line 218
            aload 0 /* this */
            areturn
        end local 1 // java.util.Map params
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
    MethodParameters:
        Name  Flags
      params  final

  public synchronized org.apache.commons.configuration2.builder.BasicConfigurationBuilder<T> addParameters(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.util.Map params
         0: .line 233
            new java.util.HashMap
            dup
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getParameters:()Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
         1: .line 232
            astore 2 /* newParams */
        start local 2 // java.util.Map newParams
         2: .line 234
            aload 1 /* params */
            ifnull 4
         3: .line 236
            aload 2 /* newParams */
            aload 1 /* params */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         4: .line 238
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newParams */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.updateParameters:(Ljava/util/Map;)V
         5: .line 239
            aload 0 /* this */
            areturn
        end local 2 // java.util.Map newParams
        end local 1 // java.util.Map params
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    6     1     params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2    6     2  newParams  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
    MethodParameters:
        Name  Flags
      params  final

  public org.apache.commons.configuration2.builder.BasicConfigurationBuilder<T> configure(org.apache.commons.configuration2.builder.BuilderParameters[]);
    descriptor: ([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.builder.BuilderParameters[] params
         0: .line 253
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* newParams */
        start local 2 // java.util.Map newParams
         1: .line 254
            aload 1 /* params */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder org.apache.commons.configuration2.builder.BuilderParameters[] java.util.Map top int int org.apache.commons.configuration2.builder.BuilderParameters[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* p */
        start local 3 // org.apache.commons.configuration2.builder.BuilderParameters p
         3: .line 256
            aload 2 /* newParams */
            aload 3 /* p */
            invokeinterface org.apache.commons.configuration2.builder.BuilderParameters.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         4: .line 257
            aload 0 /* this */
            aload 3 /* p */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.handleEventListenerProviders:(Lorg/apache/commons/configuration2/builder/BuilderParameters;)V
        end local 3 // org.apache.commons.configuration2.builder.BuilderParameters p
         5: .line 254
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 2
         7: .line 260
            aload 0 /* this */
            aload 2 /* newParams */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.setParameters:(Ljava/util/Map;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
            areturn
        end local 2 // java.util.Map newParams
        end local 1 // org.apache.commons.configuration2.builder.BuilderParameters[] params
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    8     1     params  [Lorg/apache/commons/configuration2/builder/BuilderParameters;
            1    8     2  newParams  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3    5     3          p  Lorg/apache/commons/configuration2/builder/BuilderParameters;
    Signature: ([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
    MethodParameters:
        Name  Flags
      params  final

  public T getConfiguration();
    descriptor: ()Lorg/apache/commons/configuration2/ImmutableConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 272
            aload 0 /* this */
            new org.apache.commons.configuration2.builder.ConfigurationBuilderEvent
            dup
            aload 0 /* this */
         1: .line 273
            getstatic org.apache.commons.configuration2.builder.ConfigurationBuilderEvent.CONFIGURATION_REQUEST:Lorg/apache/commons/configuration2/event/EventType;
            invokespecial org.apache.commons.configuration2.builder.ConfigurationBuilderEvent.<init>:(Lorg/apache/commons/configuration2/builder/ConfigurationBuilder;Lorg/apache/commons/configuration2/event/EventType;)V
         2: .line 272
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fireBuilderEvent:(Lorg/apache/commons/configuration2/builder/ConfigurationBuilderEvent;)V
         3: .line 275
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.result:Lorg/apache/commons/configuration2/ImmutableConfiguration;
            astore 1 /* resObj */
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration resObj
         4: .line 276
            iconst_0
            istore 2 /* created */
        start local 2 // boolean created
         5: .line 277
            aload 1 /* resObj */
            ifnonnull 15
         6: .line 279
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         7: .line 281
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.result:Lorg/apache/commons/configuration2/ImmutableConfiguration;
            astore 1 /* resObj */
         8: .line 282
            aload 1 /* resObj */
            ifnonnull 11
         9: .line 284
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResult:()Lorg/apache/commons/configuration2/ImmutableConfiguration;
            dup
            astore 1 /* resObj */
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.result:Lorg/apache/commons/configuration2/ImmutableConfiguration;
        10: .line 285
            iconst_1
            istore 2 /* created */
        11: .line 279
      StackMap locals: org.apache.commons.configuration2.ImmutableConfiguration int org.apache.commons.configuration2.builder.BasicConfigurationBuilder
      StackMap stack:
            aload 3
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        15: .line 290
      StackMap locals:
      StackMap stack:
            iload 2 /* created */
            ifeq 20
        16: .line 292
            aload 0 /* this */
            new org.apache.commons.configuration2.builder.ConfigurationBuilderResultCreatedEvent
            dup
            aload 0 /* this */
        17: .line 293
            getstatic org.apache.commons.configuration2.builder.ConfigurationBuilderResultCreatedEvent.RESULT_CREATED:Lorg/apache/commons/configuration2/event/EventType;
        18: .line 294
            aload 1 /* resObj */
            invokespecial org.apache.commons.configuration2.builder.ConfigurationBuilderResultCreatedEvent.<init>:(Lorg/apache/commons/configuration2/builder/ConfigurationBuilder;Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
        19: .line 292
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fireBuilderEvent:(Lorg/apache/commons/configuration2/builder/ConfigurationBuilderEvent;)V
        20: .line 296
      StackMap locals:
      StackMap stack:
            aload 1 /* resObj */
            areturn
        end local 2 // boolean created
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration resObj
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            4   21     1   resObj  TT;
            5   21     2  created  Z
      Exception table:
        from    to  target  type
           7    12      13  any
          13    14      13  any
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    Signature: ()TT;

  public <E extends org.apache.commons.configuration2.event.Event> void addEventListener(org.apache.commons.configuration2.event.EventType<E>, org.apache.commons.configuration2.event.EventListener<? super E>);
    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.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 310
            aload 0 /* this */
            aload 1 /* eventType */
            aload 2 /* listener */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.installEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
         1: .line 311
            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.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  eventType  Lorg/apache/commons/configuration2/event/EventType<TE;>;
            0    2     2   listener  Lorg/apache/commons/configuration2/event/EventListener<-TE;>;
    Signature: <E:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventType<TE;>;Lorg/apache/commons/configuration2/event/EventListener<-TE;>;)V
    MethodParameters:
           Name  Flags
      eventType  final
      listener   final

  public <E extends org.apache.commons.configuration2.event.Event> boolean removeEventListener(org.apache.commons.configuration2.event.EventType<E>, org.apache.commons.configuration2.event.EventListener<? super E>);
    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.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 321
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fetchEventSource:()Lorg/apache/commons/configuration2/event/EventSource;
            aload 1 /* eventType */
            aload 2 /* listener */
            invokeinterface org.apache.commons.configuration2.event.EventSource.removeEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)Z
            pop
         1: .line 322
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.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.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  eventType  Lorg/apache/commons/configuration2/event/EventType<TE;>;
            0    2     2   listener  Lorg/apache/commons/configuration2/event/EventListener<-TE;>;
    Signature: <E:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventType<TE;>;Lorg/apache/commons/configuration2/event/EventListener<-TE;>;)Z
    MethodParameters:
           Name  Flags
      eventType  final
      listener   final

  public void resetResult();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 333
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 335
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.result:Lorg/apache/commons/configuration2/ImmutableConfiguration;
            astore 1 /* oldResult */
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration oldResult
         2: .line 336
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.result:Lorg/apache/commons/configuration2/ImmutableConfiguration;
         3: .line 337
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resultDeclaration:Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
         4: .line 333
            aload 2
            monitorexit
         5: goto 8
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration oldResult
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder top org.apache.commons.configuration2.builder.BasicConfigurationBuilder
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration oldResult
         8: .line 340
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder org.apache.commons.configuration2.ImmutableConfiguration
      StackMap stack:
            aload 1 /* oldResult */
            ifnull 10
         9: .line 342
            aload 0 /* this */
            aload 1 /* oldResult */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.removeEventListeners:(Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
        10: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.commons.configuration2.builder.ConfigurationBuilderEvent
            dup
            aload 0 /* this */
        11: .line 345
            getstatic org.apache.commons.configuration2.builder.ConfigurationBuilderEvent.RESET:Lorg/apache/commons/configuration2/event/EventType;
            invokespecial org.apache.commons.configuration2.builder.ConfigurationBuilderEvent.<init>:(Lorg/apache/commons/configuration2/builder/ConfigurationBuilder;Lorg/apache/commons/configuration2/event/EventType;)V
        12: .line 344
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fireBuilderEvent:(Lorg/apache/commons/configuration2/builder/ConfigurationBuilderEvent;)V
        13: .line 346
            return
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration oldResult
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            2    6     1  oldResult  TT;
            8   14     1  oldResult  TT;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  public void resetParameters();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 355
            aload 0 /* this */
            aconst_null
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.setParameters:(Ljava/util/Map;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
            pop
         1: .line 356
            return
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;

  public synchronized void reset();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 364
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resetParameters:()V
         1: .line 365
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resetResult:()V
         2: .line 366
            return
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;

  public final void connectToReloadingController(org.apache.commons.configuration2.reloading.ReloadingController);
    descriptor: (Lorg/apache/commons/configuration2/reloading/ReloadingController;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.reloading.ReloadingController controller
         0: .line 388
            aload 1 /* controller */
            ifnonnull 4
         1: .line 390
            new java.lang.IllegalArgumentException
            dup
         2: .line 391
            ldc "ReloadingController must not be null!"
         3: .line 390
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* controller */
            invokestatic org.apache.commons.configuration2.builder.ReloadingBuilderSupportListener.connect:(Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;Lorg/apache/commons/configuration2/reloading/ReloadingController;)Lorg/apache/commons/configuration2/builder/ReloadingBuilderSupportListener;
            pop
         5: .line 394
            return
        end local 1 // org.apache.commons.configuration2.reloading.ReloadingController controller
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    6     1  controller  Lorg/apache/commons/configuration2/reloading/ReloadingController;
    MethodParameters:
            Name  Flags
      controller  final

  protected T createResult();
    descriptor: ()Lorg/apache/commons/configuration2/ImmutableConfiguration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 416
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResultInstance:()Lorg/apache/commons/configuration2/ImmutableConfiguration;
            astore 1 /* resObj */
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration resObj
         1: .line 420
            aload 0 /* this */
            aload 1 /* resObj */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.initResultInstance:(Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
         2: .line 421
            goto 6
         3: .line 422
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder org.apache.commons.configuration2.ImmutableConfiguration
      StackMap stack: org.apache.commons.configuration2.ex.ConfigurationException
            astore 2 /* cex */
        start local 2 // org.apache.commons.configuration2.ex.ConfigurationException cex
         4: .line 424
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.isAllowFailOnInit:()Z
            ifne 6
         5: .line 426
            aload 2 /* cex */
            athrow
        end local 2 // org.apache.commons.configuration2.ex.ConfigurationException cex
         6: .line 430
      StackMap locals:
      StackMap stack:
            aload 1 /* resObj */
            areturn
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration resObj
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            1    7     1  resObj  TT;
            4    6     2     cex  Lorg/apache/commons/configuration2/ex/ConfigurationException;
      Exception table:
        from    to  target  type
           1     2       3  Class org.apache.commons.configuration2.ex.ConfigurationException
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    Signature: ()TT;

  protected T createResultInstance();
    descriptor: ()Lorg/apache/commons/configuration2/ImmutableConfiguration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 446
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fetchBeanHelper:()Lorg/apache/commons/configuration2/beanutils/BeanHelper;
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getResultDeclaration:()Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
            invokevirtual org.apache.commons.configuration2.beanutils.BeanHelper.createBean:(Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;)Ljava/lang/Object;
            astore 1 /* bean */
        start local 1 // java.lang.Object bean
         1: .line 447
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.checkResultInstance:(Ljava/lang/Object;)V
         2: .line 448
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getResultClass:()Ljava/lang/Class;
            aload 1 /* bean */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.ImmutableConfiguration
            areturn
        end local 1 // java.lang.Object bean
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            1    3     1  bean  Ljava/lang/Object;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    Signature: ()TT;

  protected void initResultInstance();
    descriptor: (Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
         0: .line 465
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fetchBeanHelper:()Lorg/apache/commons/configuration2/beanutils/BeanHelper;
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getResultDeclaration:()Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
            invokevirtual org.apache.commons.configuration2.beanutils.BeanHelper.initBean:(Ljava/lang/Object;Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;)V
         1: .line 466
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.registerEventListeners:(Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
         2: .line 467
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.handleInitializable:(Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
         3: .line 468
            return
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    4     1   obj  TT;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   final

  protected final synchronized org.apache.commons.configuration2.beanutils.BeanDeclaration getResultDeclaration();
    descriptor: ()Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
    flags: (0x0034) ACC_PROTECTED, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 483
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resultDeclaration:Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
            ifnonnull 2
         1: .line 485
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getFilteredParameters:()Ljava/util/Map;
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResultDeclaration:(Ljava/util/Map;)Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resultDeclaration:Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
         2: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.resultDeclaration:Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
            areturn
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException

  protected final synchronized java.util.Map<java.lang.String, java.lang.Object> getParameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0034) ACC_PROTECTED, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 499
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.parameters:Ljava/util/Map;
            ifnull 2
         1: .line 501
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.parameters:Ljava/util/Map;
            areturn
         2: .line 503
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  protected final org.apache.commons.configuration2.beanutils.BeanHelper fetchBeanHelper();
    descriptor: ()Lorg/apache/commons/configuration2/beanutils/BeanHelper;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 517
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getParameters:()Ljava/util/Map;
            invokestatic org.apache.commons.configuration2.builder.BasicBuilderParameters.fetchBeanHelper:(Ljava/util/Map;)Lorg/apache/commons/configuration2/beanutils/BeanHelper;
         1: .line 516
            astore 1 /* helper */
        start local 1 // org.apache.commons.configuration2.beanutils.BeanHelper helper
         2: .line 518
            aload 1 /* helper */
            ifnull 3
            aload 1 /* helper */
            goto 4
      StackMap locals: org.apache.commons.configuration2.beanutils.BeanHelper
      StackMap stack:
         3: getstatic org.apache.commons.configuration2.beanutils.BeanHelper.INSTANCE:Lorg/apache/commons/configuration2/beanutils/BeanHelper;
      StackMap locals:
      StackMap stack: org.apache.commons.configuration2.beanutils.BeanHelper
         4: areturn
        end local 1 // org.apache.commons.configuration2.beanutils.BeanHelper helper
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            2    5     1  helper  Lorg/apache/commons/configuration2/beanutils/BeanHelper;

  protected org.apache.commons.configuration2.beanutils.BeanDeclaration createResultDeclaration(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.util.Map params
         0: .line 537
            new org.apache.commons.configuration2.builder.BasicConfigurationBuilder$1
            dup
            aload 0 /* this */
            aload 1 /* params */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder$1.<init>:(Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;Ljava/util/Map;)V
            areturn
        end local 1 // java.util.Map params
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    1     1  params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lorg/apache/commons/configuration2/beanutils/BeanDeclaration;
    MethodParameters:
        Name  Flags
      params  final

  protected synchronized void copyEventListeners(org.apache.commons.configuration2.builder.BasicConfigurationBuilder<?>);
    descriptor: (Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder target
         0: .line 592
            aload 0 /* this */
            aload 1 /* target */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.copyEventListeners:(Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;Lorg/apache/commons/configuration2/event/EventListenerList;)V
         1: .line 593
            return
        end local 1 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder target
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  target  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<*>;
    Signature: (Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<*>;)V
    MethodParameters:
        Name  Flags
      target  final

  protected void copyEventListeners(org.apache.commons.configuration2.builder.BasicConfigurationBuilder<?>, org.apache.commons.configuration2.event.EventListenerList);
    descriptor: (Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;Lorg/apache/commons/configuration2/event/EventListenerList;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder target
        start local 2 // org.apache.commons.configuration2.event.EventListenerList listeners
         0: .line 608
            aload 1 /* target */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 2 /* listeners */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.addAll:(Lorg/apache/commons/configuration2/event/EventListenerList;)V
         1: .line 609
            return
        end local 2 // org.apache.commons.configuration2.event.EventListenerList listeners
        end local 1 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder target
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1     target  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<*>;
            0    2     2  listeners  Lorg/apache/commons/configuration2/event/EventListenerList;
    Signature: (Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<*>;Lorg/apache/commons/configuration2/event/EventListenerList;)V
    MethodParameters:
           Name  Flags
      target     final
      listeners  final

  protected final <E extends org.apache.commons.configuration2.event.Event> void installEventListener(org.apache.commons.configuration2.event.EventType<E>, org.apache.commons.configuration2.event.EventListener<? super E>);
    descriptor: (Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.event.EventType eventType
        start local 2 // org.apache.commons.configuration2.event.EventListener listener
         0: .line 624
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.fetchEventSource:()Lorg/apache/commons/configuration2/event/EventSource;
            aload 1 /* eventType */
            aload 2 /* listener */
            invokeinterface org.apache.commons.configuration2.event.EventSource.addEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
         1: .line 625
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.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
         2: .line 626
            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.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    3     1  eventType  Lorg/apache/commons/configuration2/event/EventType<TE;>;
            0    3     2   listener  Lorg/apache/commons/configuration2/event/EventListener<-TE;>;
    Signature: <E:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventType<TE;>;Lorg/apache/commons/configuration2/event/EventListener<-TE;>;)V
    MethodParameters:
           Name  Flags
      eventType  final
      listener   final

  protected void fireBuilderEvent(org.apache.commons.configuration2.builder.ConfigurationBuilderEvent);
    descriptor: (Lorg/apache/commons/configuration2/builder/ConfigurationBuilderEvent;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.builder.ConfigurationBuilderEvent event
         0: .line 635
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* event */
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.fire:(Lorg/apache/commons/configuration2/event/Event;)V
         1: .line 636
            return
        end local 1 // org.apache.commons.configuration2.builder.ConfigurationBuilderEvent event
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    2     1  event  Lorg/apache/commons/configuration2/builder/ConfigurationBuilderEvent;
    MethodParameters:
       Name  Flags
      event  final

  private void updateParameters(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.util.Map newParams
         0: .line 645
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 646
            aload 1 /* newParams */
            ifnull 3
         2: .line 648
            aload 2 /* map */
            aload 1 /* newParams */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         3: .line 650
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            aload 2 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.parameters:Ljava/util/Map;
         4: .line 651
            return
        end local 2 // java.util.Map map
        end local 1 // java.util.Map newParams
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    5     1  newParams  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1    5     2        map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
           Name  Flags
      newParams  final

  private void registerEventListeners();
    descriptor: (Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
         0: .line 661
            aload 1 /* obj */
            iconst_1
            invokestatic org.apache.commons.configuration2.ConfigurationUtils.asEventSource:(Ljava/lang/Object;Z)Lorg/apache/commons/configuration2/event/EventSource;
            astore 2 /* evSrc */
        start local 2 // org.apache.commons.configuration2.event.EventSource evSrc
         1: .line 662
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         2: .line 663
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getRegistrations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder org.apache.commons.configuration2.ImmutableConfiguration org.apache.commons.configuration2.event.EventSource top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.event.EventListenerRegistrationData
            astore 3 /* regData */
        start local 3 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
         4: .line 665
            aload 2 /* evSrc */
            aload 3 /* regData */
            invokestatic org.apache.commons.configuration2.builder.BasicConfigurationBuilder.registerListener:(Lorg/apache/commons/configuration2/event/EventSource;Lorg/apache/commons/configuration2/event/EventListenerRegistrationData;)V
        end local 3 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
         5: .line 662
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 667
            return
        end local 2 // org.apache.commons.configuration2.event.EventSource evSrc
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    7     1      obj  TT;
            1    7     2    evSrc  Lorg/apache/commons/configuration2/event/EventSource;
            4    5     3  regData  Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<*>;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   final

  private void removeEventListeners();
    descriptor: (Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
         0: .line 678
            aload 1 /* obj */
            iconst_1
            invokestatic org.apache.commons.configuration2.ConfigurationUtils.asEventSource:(Ljava/lang/Object;Z)Lorg/apache/commons/configuration2/event/EventSource;
            astore 2 /* evSrc */
        start local 2 // org.apache.commons.configuration2.event.EventSource evSrc
         1: .line 679
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
         2: .line 680
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.getRegistrations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.apache.commons.configuration2.builder.BasicConfigurationBuilder org.apache.commons.configuration2.ImmutableConfiguration org.apache.commons.configuration2.event.EventSource top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.event.EventListenerRegistrationData
            astore 3 /* regData */
        start local 3 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
         4: .line 682
            aload 2 /* evSrc */
            aload 3 /* regData */
            invokestatic org.apache.commons.configuration2.builder.BasicConfigurationBuilder.removeListener:(Lorg/apache/commons/configuration2/event/EventSource;Lorg/apache/commons/configuration2/event/EventListenerRegistrationData;)V
        end local 3 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
         5: .line 679
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 684
            return
        end local 2 // org.apache.commons.configuration2.event.EventSource evSrc
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    7     1      obj  TT;
            1    7     2    evSrc  Lorg/apache/commons/configuration2/event/EventSource;
            4    5     3  regData  Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<*>;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   final

  private org.apache.commons.configuration2.event.EventSource fetchEventSource();
    descriptor: ()Lorg/apache/commons/configuration2/event/EventSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 695
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.result:Lorg/apache/commons/configuration2/ImmutableConfiguration;
            iconst_1
            invokestatic org.apache.commons.configuration2.ConfigurationUtils.asEventSource:(Ljava/lang/Object;Z)Lorg/apache/commons/configuration2/event/EventSource;
            areturn
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;

  private void handleEventListenerProviders(org.apache.commons.configuration2.builder.BuilderParameters);
    descriptor: (Lorg/apache/commons/configuration2/builder/BuilderParameters;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.builder.BuilderParameters params
         0: .line 707
            aload 1 /* params */
            instanceof org.apache.commons.configuration2.builder.EventListenerProvider
            ifeq 4
         1: .line 709
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.BasicConfigurationBuilder.eventListeners:Lorg/apache/commons/configuration2/event/EventListenerList;
            aload 1 /* params */
            checkcast org.apache.commons.configuration2.builder.EventListenerProvider
         2: .line 710
            invokeinterface org.apache.commons.configuration2.builder.EventListenerProvider.getListeners:()Lorg/apache/commons/configuration2/event/EventListenerList;
         3: .line 709
            invokevirtual org.apache.commons.configuration2.event.EventListenerList.addAll:(Lorg/apache/commons/configuration2/event/EventListenerList;)V
         4: .line 712
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.configuration2.builder.BuilderParameters params
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    5     1  params  Lorg/apache/commons/configuration2/builder/BuilderParameters;
    MethodParameters:
        Name  Flags
      params  final

  private void checkResultInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // java.lang.Object inst
         0: .line 725
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getResultClass:()Ljava/lang/Class;
            aload 1 /* inst */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 4
         1: .line 727
            new org.apache.commons.configuration2.ex.ConfigurationRuntimeException
            dup
         2: .line 728
            new java.lang.StringBuilder
            dup
            ldc "Incompatible result object: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inst */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 727
            invokespecial org.apache.commons.configuration2.ex.ConfigurationRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 730
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object inst
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    5     1  inst  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      inst  final

  private java.util.Map<java.lang.String, java.lang.Object> getFilteredParameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
         0: .line 741
            new java.util.HashMap
            dup
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getParameters:()Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
         1: .line 740
            astore 1 /* filteredMap */
        start local 1 // java.util.Map filteredMap
         2: .line 742
            aload 1 /* filteredMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         3: goto 7
         4: .line 745
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 746
            aload 3 /* key */
            ldc "config-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 748
            aload 2 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 3 // java.lang.String key
         7: .line 742
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
         8: .line 743
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator it
         9: .line 751
            aload 1 /* filteredMap */
            areturn
        end local 1 // java.util.Map filteredMap
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            2   10     1  filteredMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3    9     2           it  Ljava/util/Iterator<Ljava/lang/String;>;
            5    7     3          key  Ljava/lang/String;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private void handleInitializable();
    descriptor: (Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
         0: .line 764
            aload 1 /* obj */
            instanceof org.apache.commons.configuration2.Initializable
            ifeq 2
         1: .line 766
            aload 1 /* obj */
            checkcast org.apache.commons.configuration2.Initializable
            invokeinterface org.apache.commons.configuration2.Initializable.initialize:()V
         2: .line 768
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.configuration2.ImmutableConfiguration obj
        end local 0 // org.apache.commons.configuration2.builder.BasicConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
            0    3     1   obj  TT;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   final

  private static <E extends org.apache.commons.configuration2.event.Event> void registerListener(org.apache.commons.configuration2.event.EventSource, org.apache.commons.configuration2.event.EventListenerRegistrationData<E>);
    descriptor: (Lorg/apache/commons/configuration2/event/EventSource;Lorg/apache/commons/configuration2/event/EventListenerRegistrationData;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.event.EventSource evSrc
        start local 1 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
         0: .line 780
            aload 0 /* evSrc */
            aload 1 /* regData */
            invokevirtual org.apache.commons.configuration2.event.EventListenerRegistrationData.getEventType:()Lorg/apache/commons/configuration2/event/EventType;
            aload 1 /* regData */
            invokevirtual org.apache.commons.configuration2.event.EventListenerRegistrationData.getListener:()Lorg/apache/commons/configuration2/event/EventListener;
            invokeinterface org.apache.commons.configuration2.event.EventSource.addEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
         1: .line 781
            return
        end local 1 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
        end local 0 // org.apache.commons.configuration2.event.EventSource evSrc
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0    evSrc  Lorg/apache/commons/configuration2/event/EventSource;
            0    2     1  regData  Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<TE;>;
    Signature: <E:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventSource;Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<TE;>;)V
    MethodParameters:
         Name  Flags
      evSrc    final
      regData  final

  private static <E extends org.apache.commons.configuration2.event.Event> void removeListener(org.apache.commons.configuration2.event.EventSource, org.apache.commons.configuration2.event.EventListenerRegistrationData<E>);
    descriptor: (Lorg/apache/commons/configuration2/event/EventSource;Lorg/apache/commons/configuration2/event/EventListenerRegistrationData;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.event.EventSource evSrc
        start local 1 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
         0: .line 793
            aload 0 /* evSrc */
            aload 1 /* regData */
            invokevirtual org.apache.commons.configuration2.event.EventListenerRegistrationData.getEventType:()Lorg/apache/commons/configuration2/event/EventType;
            aload 1 /* regData */
            invokevirtual org.apache.commons.configuration2.event.EventListenerRegistrationData.getListener:()Lorg/apache/commons/configuration2/event/EventListener;
            invokeinterface org.apache.commons.configuration2.event.EventSource.removeEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)Z
            pop
         1: .line 794
            return
        end local 1 // org.apache.commons.configuration2.event.EventListenerRegistrationData regData
        end local 0 // org.apache.commons.configuration2.event.EventSource evSrc
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0    evSrc  Lorg/apache/commons/configuration2/event/EventSource;
            0    2     1  regData  Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<TE;>;
    Signature: <E:Lorg/apache/commons/configuration2/event/Event;>(Lorg/apache/commons/configuration2/event/EventSource;Lorg/apache/commons/configuration2/event/EventListenerRegistrationData<TE;>;)V
    MethodParameters:
         Name  Flags
      evSrc    final
      regData  final
}
Signature: <T::Lorg/apache/commons/configuration2/ImmutableConfiguration;>Ljava/lang/Object;Lorg/apache/commons/configuration2/builder/ConfigurationBuilder<TT;>;
SourceFile: "BasicConfigurationBuilder.java"
NestMembers:
  org.apache.commons.configuration2.builder.BasicConfigurationBuilder$1
InnerClasses:
  org.apache.commons.configuration2.builder.BasicConfigurationBuilder$1