public class org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder<T extends org.apache.commons.configuration2.FileBasedConfiguration> extends org.apache.commons.configuration2.builder.BasicConfigurationBuilder<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder
  super_class: org.apache.commons.configuration2.builder.BasicConfigurationBuilder
{
  private static final java.util.Map<java.lang.Class<?>, java.lang.String> DEFAULT_ENCODINGS;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/String;>;

  private org.apache.commons.configuration2.io.FileHandler currentFileHandler;
    descriptor: Lorg/apache/commons/configuration2/io/FileHandler;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.commons.configuration2.builder.AutoSaveListener autoSaveListener;
    descriptor: Lorg/apache/commons/configuration2/builder/AutoSaveListener;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            invokestatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.initializeDefaultEncodings:()Ljava/util/Map;
         1: .line 63
            putstatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.DEFAULT_ENCODINGS:Ljava/util/Map;
         2: .line 64
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.Class<? extends T>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // java.lang.Class resCls
         0: .line 84
            aload 0 /* this */
            aload 1 /* resCls */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.<init>:(Ljava/lang/Class;)V
         1: .line 85
            return
        end local 1 // java.lang.Class resCls
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<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=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // java.lang.Class resCls
        start local 2 // java.util.Map params
         0: .line 99
            aload 0 /* this */
            aload 1 /* resCls */
            aload 2 /* params */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.<init>:(Ljava/lang/Class;Ljava/util/Map;)V
         1: .line 100
            return
        end local 2 // java.util.Map params
        end local 1 // java.lang.Class resCls
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<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=4, locals=4, args_size=4
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // java.lang.Class resCls
        start local 2 // java.util.Map params
        start local 3 // boolean allowFailOnInit
         0: .line 115
            aload 0 /* this */
            aload 1 /* resCls */
            aload 2 /* params */
            iload 3 /* allowFailOnInit */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.<init>:(Ljava/lang/Class;Ljava/util/Map;Z)V
         1: .line 116
            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.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0    2     1           resCls  Ljava/lang/Class<+TT;>;
            0    2     2           params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0    2     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 static java.lang.String getDefaultEncoding(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Class configClass
         0: .line 128
            getstatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.DEFAULT_ENCODINGS:Ljava/util/Map;
            aload 0 /* configClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* enc */
        start local 1 // java.lang.String enc
         1: .line 129
            aload 1 /* enc */
            ifnonnull 2
            aload 0 /* configClass */
            ifnonnull 3
         2: .line 131
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* enc */
            areturn
         3: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* configClass */
            invokestatic org.apache.commons.lang3.ClassUtils.getAllSuperclasses:(Ljava/lang/Class;)Ljava/util/List;
         4: .line 134
            astore 2 /* superclasses */
        start local 2 // java.util.List superclasses
         5: .line 136
            aload 2 /* superclasses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: java.lang.Class java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* cls */
        start local 3 // java.lang.Class cls
         7: .line 138
            getstatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.DEFAULT_ENCODINGS:Ljava/util/Map;
            aload 3 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* enc */
         8: .line 139
            aload 1 /* enc */
            ifnull 10
         9: .line 141
            aload 1 /* enc */
            areturn
        end local 3 // java.lang.Class cls
        10: .line 136
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 145
            aload 0 /* configClass */
            invokestatic org.apache.commons.lang3.ClassUtils.getAllInterfaces:(Ljava/lang/Class;)Ljava/util/List;
            astore 3 /* interfaces */
        start local 3 // java.util.List interfaces
        12: .line 146
            aload 3 /* interfaces */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: java.lang.Class java.lang.String java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        13: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cls */
        start local 4 // java.lang.Class cls
        14: .line 148
            getstatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.DEFAULT_ENCODINGS:Ljava/util/Map;
            aload 4 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* enc */
        15: .line 149
            aload 1 /* enc */
            ifnull 17
        16: .line 151
            aload 1 /* enc */
            areturn
        end local 4 // java.lang.Class cls
        17: .line 146
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 155
            aconst_null
            areturn
        end local 3 // java.util.List interfaces
        end local 2 // java.util.List superclasses
        end local 1 // java.lang.String enc
        end local 0 // java.lang.Class configClass
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0   configClass  Ljava/lang/Class<*>;
            1   19     1           enc  Ljava/lang/String;
            5   19     2  superclasses  Ljava/util/List<Ljava/lang/Class<*>;>;
            7   10     3           cls  Ljava/lang/Class<*>;
           12   19     3    interfaces  Ljava/util/List<Ljava/lang/Class<*>;>;
           14   17     4           cls  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      configClass  final

  public static void setDefaultEncoding(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class configClass
        start local 1 // java.lang.String encoding
         0: .line 172
            aload 0 /* configClass */
            ifnonnull 4
         1: .line 174
            new java.lang.IllegalArgumentException
            dup
         2: .line 175
            ldc "Configuration class must not be null!"
         3: .line 174
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            ifnonnull 7
         5: .line 180
            getstatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.DEFAULT_ENCODINGS:Ljava/util/Map;
            aload 0 /* configClass */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 181
            goto 8
         7: .line 184
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.DEFAULT_ENCODINGS:Ljava/util/Map;
            aload 0 /* configClass */
            aload 1 /* encoding */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 186
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String encoding
        end local 0 // java.lang.Class configClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0  configClass  Ljava/lang/Class<*>;
            0    9     1     encoding  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)V
    MethodParameters:
             Name  Flags
      configClass  final
      encoding     final

  public org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder<T> configure(org.apache.commons.configuration2.builder.BuilderParameters[]);
    descriptor: ([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.builder.BuilderParameters[] params
         0: .line 195
            aload 0 /* this */
            aload 1 /* params */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.configure:([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
            pop
         1: .line 196
            aload 0 /* this */
            areturn
        end local 1 // org.apache.commons.configuration2.builder.BuilderParameters[] params
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0    2     1  params  [Lorg/apache/commons/configuration2/builder/BuilderParameters;
    Signature: ([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
    MethodParameters:
        Name  Flags
      params  final

  public synchronized org.apache.commons.configuration2.io.FileHandler getFileHandler();
    descriptor: ()Lorg/apache/commons/configuration2/io/FileHandler;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
         0: .line 210
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
            goto 2
         1: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.fetchFileHandlerFromParameters:()Lorg/apache/commons/configuration2/io/FileHandler;
         2: .line 210
      StackMap locals:
      StackMap stack: org.apache.commons.configuration2.io.FileHandler
            areturn
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<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.FileBasedConfigurationBuilder this
        start local 1 // java.util.Map params
         0: .line 224
            aload 0 /* this */
            aload 1 /* params */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.setParameters:(Ljava/util/Map;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
            pop
         1: .line 225
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.resetParameters:Z
         2: .line 226
            aload 0 /* this */
            areturn
        end local 1 // java.util.Map params
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0    3     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 void save();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
         0: .line 239
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.getFileHandler:()Lorg/apache/commons/configuration2/io/FileHandler;
            invokevirtual org.apache.commons.configuration2.io.FileHandler.save:()V
         1: .line 240
            return
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException

  public synchronized boolean isAutoSave();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
         0: .line 249
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;

  public synchronized void setAutoSave(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // boolean enabled
         0: .line 262
            iload 1 /* enabled */
            ifeq 3
         1: .line 264
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.installAutoSaveListener:()V
         2: .line 265
            goto 4
         3: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.removeAutoSaveListener:()V
         4: .line 270
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0    5     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  final

  protected void initResultInstance();
    descriptor: (Lorg/apache/commons/configuration2/FileBasedConfiguration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.FileBasedConfiguration obj
         0: .line 280
            aload 0 /* this */
            aload 1 /* obj */
            invokespecial org.apache.commons.configuration2.builder.BasicConfigurationBuilder.initResultInstance:(Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
         1: .line 282
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
            ifnull 2
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.resetParameters:Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
            goto 3
         2: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.fetchFileHandlerFromParameters:()Lorg/apache/commons/configuration2/io/FileHandler;
         3: .line 281
      StackMap locals:
      StackMap stack: org.apache.commons.configuration2.io.FileHandler
            astore 2 /* srcHandler */
        start local 2 // org.apache.commons.configuration2.io.FileHandler srcHandler
         4: .line 284
            aload 0 /* this */
            new org.apache.commons.configuration2.io.FileHandler
            dup
            aload 1 /* obj */
            aload 2 /* srcHandler */
            invokespecial org.apache.commons.configuration2.io.FileHandler.<init>:(Lorg/apache/commons/configuration2/io/FileBased;Lorg/apache/commons/configuration2/io/FileHandler;)V
            putfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
         5: .line 286
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            ifnull 7
         6: .line 288
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
            invokevirtual org.apache.commons.configuration2.builder.AutoSaveListener.updateFileHandler:(Lorg/apache/commons/configuration2/io/FileHandler;)V
         7: .line 290
      StackMap locals: org.apache.commons.configuration2.io.FileHandler
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.currentFileHandler:Lorg/apache/commons/configuration2/io/FileHandler;
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.initFileHandler:(Lorg/apache/commons/configuration2/io/FileHandler;)V
         8: .line 291
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.resetParameters:Z
         9: .line 292
            return
        end local 2 // org.apache.commons.configuration2.io.FileHandler srcHandler
        end local 1 // org.apache.commons.configuration2.FileBasedConfiguration obj
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0   10     1         obj  TT;
            4   10     2  srcHandler  Lorg/apache/commons/configuration2/io/FileHandler;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      obj   final

  protected void initFileHandler(org.apache.commons.configuration2.io.FileHandler);
    descriptor: (Lorg/apache/commons/configuration2/io/FileHandler;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.io.FileHandler handler
         0: .line 307
            aload 0 /* this */
            aload 1 /* handler */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.initEncoding:(Lorg/apache/commons/configuration2/io/FileHandler;)V
         1: .line 308
            aload 1 /* handler */
            invokevirtual org.apache.commons.configuration2.io.FileHandler.isLocationDefined:()Z
            ifeq 4
         2: .line 310
            aload 1 /* handler */
            invokevirtual org.apache.commons.configuration2.io.FileHandler.locate:()Z
            pop
         3: .line 311
            aload 1 /* handler */
            invokevirtual org.apache.commons.configuration2.io.FileHandler.load:()V
         4: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.configuration2.io.FileHandler handler
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0    5     1  handler  Lorg/apache/commons/configuration2/io/FileHandler;
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
    MethodParameters:
         Name  Flags
      handler  final

  private org.apache.commons.configuration2.io.FileHandler fetchFileHandlerFromParameters();
    descriptor: ()Lorg/apache/commons/configuration2/io/FileHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
         0: .line 327
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.getParameters:()Ljava/util/Map;
         1: .line 328
            iconst_0
         2: .line 327
            invokestatic org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl.fromParameters:(Ljava/util/Map;Z)Lorg/apache/commons/configuration2/builder/FileBasedBuilderParametersImpl;
         3: .line 326
            astore 1 /* fileParams */
        start local 1 // org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl fileParams
         4: .line 329
            aload 1 /* fileParams */
            ifnonnull 7
         5: .line 331
            new org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl
            dup
            invokespecial org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl.<init>:()V
            astore 1 /* fileParams */
         6: .line 332
            aload 0 /* this */
            aload 1 /* fileParams */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl.getParameters:()Ljava/util/Map;
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.addParameters:(Ljava/util/Map;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
            pop
         7: .line 334
      StackMap locals: org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl
      StackMap stack:
            aload 1 /* fileParams */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl.getFileHandler:()Lorg/apache/commons/configuration2/io/FileHandler;
            areturn
        end local 1 // org.apache.commons.configuration2.builder.FileBasedBuilderParametersImpl fileParams
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            4    8     1  fileParams  Lorg/apache/commons/configuration2/builder/FileBasedBuilderParametersImpl;

  private void installAutoSaveListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
         0: .line 343
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            ifnonnull 4
         1: .line 345
            aload 0 /* this */
            new org.apache.commons.configuration2.builder.AutoSaveListener
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.configuration2.builder.AutoSaveListener.<init>:(Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder;)V
            putfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
         2: .line 346
            aload 0 /* this */
            getstatic org.apache.commons.configuration2.event.ConfigurationEvent.ANY:Lorg/apache/commons/configuration2/event/EventType;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.addEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)V
         3: .line 347
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.getFileHandler:()Lorg/apache/commons/configuration2/io/FileHandler;
            invokevirtual org.apache.commons.configuration2.builder.AutoSaveListener.updateFileHandler:(Lorg/apache/commons/configuration2/io/FileHandler;)V
         4: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;

  private void removeAutoSaveListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
         0: .line 357
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            ifnull 4
         1: .line 359
            aload 0 /* this */
            getstatic org.apache.commons.configuration2.event.ConfigurationEvent.ANY:Lorg/apache/commons/configuration2/event/EventType;
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.removeEventListener:(Lorg/apache/commons/configuration2/event/EventType;Lorg/apache/commons/configuration2/event/EventListener;)Z
            pop
         2: .line 360
            aload 0 /* this */
            getfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
            aconst_null
            invokevirtual org.apache.commons.configuration2.builder.AutoSaveListener.updateFileHandler:(Lorg/apache/commons/configuration2/io/FileHandler;)V
         3: .line 361
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.autoSaveListener:Lorg/apache/commons/configuration2/builder/AutoSaveListener;
         4: .line 363
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;

  private void initEncoding(org.apache.commons.configuration2.io.FileHandler);
    descriptor: (Lorg/apache/commons/configuration2/io/FileHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
        start local 1 // org.apache.commons.configuration2.io.FileHandler handler
         0: .line 374
            aload 1 /* handler */
            invokevirtual org.apache.commons.configuration2.io.FileHandler.getEncoding:()Ljava/lang/String;
            invokestatic org.apache.commons.lang3.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 4
         1: .line 376
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.getResultClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.getDefaultEncoding:(Ljava/lang/Class;)Ljava/lang/String;
            astore 2 /* encoding */
        start local 2 // java.lang.String encoding
         2: .line 377
            aload 2 /* encoding */
            ifnull 4
         3: .line 379
            aload 1 /* handler */
            aload 2 /* encoding */
            invokevirtual org.apache.commons.configuration2.io.FileHandler.setEncoding:(Ljava/lang/String;)V
        end local 2 // java.lang.String encoding
         4: .line 382
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.configuration2.io.FileHandler handler
        end local 0 // org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder<TT;>;
            0    5     1   handler  Lorg/apache/commons/configuration2/io/FileHandler;
            2    4     2  encoding  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      handler  final

  private static java.util.Map<java.lang.Class<?>, java.lang.String> initializeDefaultEncodings();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 392
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            astore 0 /* enc */
        start local 0 // java.util.Map enc
         1: .line 393
            aload 0 /* enc */
            ldc Lorg/apache/commons/configuration2/PropertiesConfiguration;
         2: .line 394
            ldc "ISO-8859-1"
         3: .line 393
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 395
            aload 0 /* enc */
            ldc Lorg/apache/commons/configuration2/XMLPropertiesConfiguration;
         5: .line 396
            ldc "UTF-8"
         6: .line 395
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 397
            aload 0 /* enc */
            areturn
        end local 0 // java.util.Map enc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    8     0   enc  Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/String;>;
    Signature: ()Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/String;>;

  public org.apache.commons.configuration2.builder.BasicConfigurationBuilder configure(org.apache.commons.configuration2.builder.BuilderParameters[]);
    descriptor: ([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder;
    flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.configure:([Lorg/apache/commons/configuration2/builder/BuilderParameters;)Lorg/apache/commons/configuration2/builder/FileBasedConfigurationBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void initResultInstance(org.apache.commons.configuration2.ImmutableConfiguration);
    descriptor: (Lorg/apache/commons/configuration2/ImmutableConfiguration;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.commons.configuration2.FileBasedConfiguration
            invokevirtual org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder.initResultInstance:(Lorg/apache/commons/configuration2/FileBasedConfiguration;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.apache.commons.configuration2.ex.ConfigurationException
}
Signature: <T::Lorg/apache/commons/configuration2/FileBasedConfiguration;>Lorg/apache/commons/configuration2/builder/BasicConfigurationBuilder<TT;>;
SourceFile: "FileBasedConfigurationBuilder.java"