public abstract class org.apache.commons.logging.LogFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.commons.logging.LogFactory
  super_class: java.lang.Object
{
  public static final java.lang.String PRIORITY_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "priority"

  public static final java.lang.String TCCL_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "use_tccl"

  public static final java.lang.String FACTORY_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.commons.logging.LogFactory"

  public static final java.lang.String FACTORY_DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.commons.logging.impl.LogFactoryImpl"

  public static final java.lang.String FACTORY_PROPERTIES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "commons-logging.properties"

  protected static final java.lang.String SERVICE_ID;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/services/org.apache.commons.logging.LogFactory"

  public static final java.lang.String DIAGNOSTICS_DEST_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.commons.logging.diagnostics.dest"

  private static java.io.PrintStream diagnosticsStream;
    descriptor: Ljava/io/PrintStream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String diagnosticPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String HASHTABLE_IMPLEMENTATION_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.commons.logging.LogFactory.HashtableImpl"

  private static final java.lang.String WEAK_HASHTABLE_CLASSNAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.commons.logging.impl.WeakHashtable"

  private static final java.lang.ClassLoader thisClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static java.util.Hashtable factories;
    descriptor: Ljava/util/Hashtable;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  protected static volatile org.apache.commons.logging.LogFactory nullClassLoaderFactory;
    descriptor: Lorg/apache/commons/logging/LogFactory;
    flags: (0x004c) ACC_PROTECTED, ACC_STATIC, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 136
            aconst_null
            putstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
         1: .line 282
            aconst_null
            putstatic org.apache.commons.logging.LogFactory.factories:Ljava/util/Hashtable;
         2: .line 299
            aconst_null
            putstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
         3: .line 1674
            ldc Lorg/apache/commons/logging/LogFactory;
            invokestatic org.apache.commons.logging.LogFactory.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            putstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
         4: .line 1686
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            astore 1 /* classLoader */
        start local 1 // java.lang.ClassLoader classLoader
         5: .line 1687
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            ifnonnull 8
         6: .line 1688
            ldc "BOOTLOADER"
            astore 0 /* classLoaderName */
        start local 0 // java.lang.String classLoaderName
         7: .line 1689
            goto 12
        end local 0 // java.lang.String classLoaderName
         8: .line 1690
      StackMap locals: top java.lang.ClassLoader
      StackMap stack:
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            astore 0 /* classLoaderName */
        end local 1 // java.lang.ClassLoader classLoader
        start local 0 // java.lang.String classLoaderName
         9: .line 1692
            goto 12
        end local 0 // java.lang.String classLoaderName
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        10: pop
        11: .line 1693
            ldc "UNKNOWN"
            astore 0 /* classLoaderName */
        start local 0 // java.lang.String classLoaderName
        12: .line 1695
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[LogFactory from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* classLoaderName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.apache.commons.logging.LogFactory.diagnosticPrefix:Ljava/lang/String;
        13: .line 1696
            invokestatic org.apache.commons.logging.LogFactory.initDiagnostics:()Ljava/io/PrintStream;
            putstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
        14: .line 1697
            ldc Lorg/apache/commons/logging/LogFactory;
            invokestatic org.apache.commons.logging.LogFactory.logClassLoaderEnvironment:(Ljava/lang/Class;)V
        15: .line 1698
            invokestatic org.apache.commons.logging.LogFactory.createFactoryStore:()Ljava/util/Hashtable;
            putstatic org.apache.commons.logging.LogFactory.factories:Ljava/util/Hashtable;
        16: .line 1699
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 18
        17: .line 1700
            ldc "BOOTSTRAP COMPLETED"
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 0 // java.lang.String classLoaderName
        18: .line 1702
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            7    8     0  classLoaderName  Ljava/lang/String;
            9   10     0  classLoaderName  Ljava/lang/String;
           12   18     0  classLoaderName  Ljava/lang/String;
            5    9     1      classLoader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           4     9      10  Class java.lang.SecurityException

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.logging.LogFactory this
         0: .line 198
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 199
            return
        end local 0 // org.apache.commons.logging.LogFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/logging/LogFactory;

  public abstract java.lang.Object getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract java.lang.String[] getAttributeNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.apache.commons.logging.Log getInstance(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException
    MethodParameters:
       Name  Flags
      clazz  

  public abstract org.apache.commons.logging.Log getInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/commons/logging/Log;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException
    MethodParameters:
      Name  Flags
      name  

  public abstract void release();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void removeAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      name  

  public abstract void setAttribute(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      name   
      value  

  private static final java.util.Hashtable createFactoryStore();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=0
         0: .line 317
            aconst_null
            astore 0 /* result */
        start local 0 // java.util.Hashtable result
         1: .line 320
            ldc "org.apache.commons.logging.LogFactory.HashtableImpl"
            aconst_null
            invokestatic org.apache.commons.logging.LogFactory.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* storeImplementationClass */
        start local 1 // java.lang.String storeImplementationClass
         2: .line 321
            goto 5
        end local 1 // java.lang.String storeImplementationClass
      StackMap locals: java.util.Hashtable
      StackMap stack: java.lang.SecurityException
         3: pop
         4: .line 324
            aconst_null
            astore 1 /* storeImplementationClass */
        start local 1 // java.lang.String storeImplementationClass
         5: .line 327
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* storeImplementationClass */
            ifnonnull 7
         6: .line 328
            ldc "org.apache.commons.logging.impl.WeakHashtable"
            astore 1 /* storeImplementationClass */
         7: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* storeImplementationClass */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* implementationClass */
        start local 2 // java.lang.Class implementationClass
         8: .line 332
            aload 2 /* implementationClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.util.Hashtable
            astore 0 /* result */
        end local 2 // java.lang.Class implementationClass
         9: .line 333
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        11: .line 334
            aload 2 /* t */
            invokestatic org.apache.commons.logging.LogFactory.handleThrowable:(Ljava/lang/Throwable;)V
        12: .line 337
            ldc "org.apache.commons.logging.impl.WeakHashtable"
            aload 1 /* storeImplementationClass */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        13: .line 339
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 16
        14: .line 341
            ldc "[ERROR] LogFactory: Load of custom hashtable failed"
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        15: .line 342
            goto 17
        16: .line 345
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "[ERROR] LogFactory: Load of custom hashtable failed"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 2 // java.lang.Throwable t
        17: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            ifnonnull 19
        18: .line 350
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 0 /* result */
        19: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 1 // java.lang.String storeImplementationClass
        end local 0 // java.util.Hashtable result
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            1   20     0                    result  Ljava/util/Hashtable;
            2    3     1  storeImplementationClass  Ljava/lang/String;
            5   20     1  storeImplementationClass  Ljava/lang/String;
            8    9     2       implementationClass  Ljava/lang/Class;
           11   17     2                         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
           7     9      10  Class java.lang.Throwable

  private static java.lang.String trim(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String src
         0: .line 359
            aload 0 /* src */
            ifnonnull 2
         1: .line 360
            aconst_null
            areturn
         2: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   src  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      src   

  protected static void handleThrowable(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 378
            aload 0 /* t */
            instanceof java.lang.ThreadDeath
            ifeq 2
         1: .line 379
            aload 0 /* t */
            checkcast java.lang.ThreadDeath
            athrow
         2: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* t */
            instanceof java.lang.VirtualMachineError
            ifeq 4
         3: .line 382
            aload 0 /* t */
            checkcast java.lang.VirtualMachineError
            athrow
         4: .line 385
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public static org.apache.commons.logging.LogFactory getFactory();
    descriptor: ()Lorg/apache/commons/logging/LogFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=0
         0: .line 419
            invokestatic org.apache.commons.logging.LogFactory.getContextClassLoaderInternal:()Ljava/lang/ClassLoader;
            astore 0 /* contextClassLoader */
        start local 0 // java.lang.ClassLoader contextClassLoader
         1: .line 421
            aload 0 /* contextClassLoader */
            ifnonnull 4
         2: .line 425
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 4
         3: .line 426
            ldc "Context classloader is null."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         4: .line 431
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.getCachedFactory:(Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
            astore 1 /* factory */
        start local 1 // org.apache.commons.logging.LogFactory factory
         5: .line 432
            aload 1 /* factory */
            ifnull 7
         6: .line 433
            aload 1 /* factory */
            areturn
         7: .line 436
      StackMap locals: org.apache.commons.logging.LogFactory
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 13
         8: .line 438
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] LogFactory implementation requested for the first time for context classloader "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 439
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 438
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 437
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        12: .line 440
            ldc "[LOOKUP] "
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.logHierarchy:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
        13: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* contextClassLoader */
            ldc "commons-logging.properties"
            invokestatic org.apache.commons.logging.LogFactory.getConfigurationFile:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Properties;
            astore 2 /* props */
        start local 2 // java.util.Properties props
        14: .line 457
            aload 0 /* contextClassLoader */
            astore 3 /* baseClassLoader */
        start local 3 // java.lang.ClassLoader baseClassLoader
        15: .line 458
            aload 2 /* props */
            ifnull 20
        16: .line 459
            aload 2 /* props */
            ldc "use_tccl"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* useTCCLStr */
        start local 4 // java.lang.String useTCCLStr
        17: .line 460
            aload 4 /* useTCCLStr */
            ifnull 20
        18: .line 463
            aload 4 /* useTCCLStr */
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 20
        19: .line 471
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            astore 3 /* baseClassLoader */
        end local 4 // java.lang.String useTCCLStr
        20: .line 478
      StackMap locals: java.util.Properties java.lang.ClassLoader
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 22
        21: .line 479
            ldc "[LOOKUP] Looking for system property [org.apache.commons.logging.LogFactory] to define the LogFactory subclass to use..."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        22: .line 484
      StackMap locals:
      StackMap stack:
            ldc "org.apache.commons.logging.LogFactory"
            aconst_null
            invokestatic org.apache.commons.logging.LogFactory.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* factoryClass */
        start local 4 // java.lang.String factoryClass
        23: .line 485
            aload 4 /* factoryClass */
            ifnull 30
        24: .line 486
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 28
        25: .line 487
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] Creating an instance of LogFactory class '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* factoryClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 488
            ldc "' as specified by system property "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "org.apache.commons.logging.LogFactory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 487
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        28: .line 490
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* factoryClass */
            aload 3 /* baseClassLoader */
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.newFactory:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
            astore 1 /* factory */
        29: .line 491
            goto 47
        30: .line 492
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 47
        31: .line 493
            ldc "[LOOKUP] No system property [org.apache.commons.logging.LogFactory] defined."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 4 // java.lang.String factoryClass
        32: .line 496
            goto 47
      StackMap locals: java.lang.ClassLoader org.apache.commons.logging.LogFactory java.util.Properties java.lang.ClassLoader
      StackMap stack: java.lang.SecurityException
        33: astore 4 /* e */
        start local 4 // java.lang.SecurityException e
        34: .line 497
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 47
        35: .line 498
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] A security exception occurred while trying to create an instance of the custom factory class: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        36: .line 499
            aload 4 /* e */
            invokevirtual java.lang.SecurityException.getMessage:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.trim:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 500
            ldc "]. Trying alternative implementations..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 498
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 4 // java.lang.SecurityException e
        39: goto 47
        40: .line 503
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
        41: .line 509
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 46
        42: .line 510
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] An exception occurred while trying to create an instance of the custom factory class: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 512
            aload 4 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.trim:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 513
            ldc "] as specified by a system property."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 510
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        46: .line 515
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.lang.RuntimeException e
        47: .line 524
      StackMap locals:
      StackMap stack:
            aload 1 /* factory */
            ifnonnull 77
        48: .line 525
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 50
        49: .line 526
            ldc "[LOOKUP] Looking for a resource file of name [META-INF/services/org.apache.commons.logging.LogFactory] to define the LogFactory subclass to use..."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        50: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* contextClassLoader */
            ldc "META-INF/services/org.apache.commons.logging.LogFactory"
            invokestatic org.apache.commons.logging.LogFactory.getResourceAsStream:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream;
            astore 4 /* is */
        start local 4 // java.io.InputStream is
        51: .line 532
            aload 4 /* is */
            ifnull 67
        52: .line 537
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 4 /* is */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* rd */
        start local 5 // java.io.BufferedReader rd
        53: .line 538
            goto 56
        end local 5 // java.io.BufferedReader rd
      StackMap locals: java.lang.ClassLoader org.apache.commons.logging.LogFactory java.util.Properties java.lang.ClassLoader java.io.InputStream
      StackMap stack: java.io.UnsupportedEncodingException
        54: pop
        55: .line 539
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 4 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* rd */
        start local 5 // java.io.BufferedReader rd
        56: .line 542
      StackMap locals: java.io.BufferedReader
      StackMap stack:
            aload 5 /* rd */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* factoryClassName */
        start local 6 // java.lang.String factoryClassName
        57: .line 543
            aload 5 /* rd */
            invokevirtual java.io.BufferedReader.close:()V
        58: .line 545
            aload 6 /* factoryClassName */
            ifnull 77
            ldc ""
            aload 6 /* factoryClassName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 77
        59: .line 546
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 65
        60: .line 547
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP]  Creating an instance of LogFactory class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        61: .line 548
            aload 6 /* factoryClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        62: .line 549
            ldc " as specified by file '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "META-INF/services/org.apache.commons.logging.LogFactory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        63: .line 550
            ldc "' which was present in the path of the context classloader."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 547
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        65: .line 552
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* factoryClassName */
            aload 3 /* baseClassLoader */
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.newFactory:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
            astore 1 /* factory */
        end local 6 // java.lang.String factoryClassName
        end local 5 // java.io.BufferedReader rd
        66: .line 554
            goto 77
        67: .line 556
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 77
        68: .line 557
            ldc "[LOOKUP] No resource file with name 'META-INF/services/org.apache.commons.logging.LogFactory' found."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 4 // java.io.InputStream is
        69: .line 560
            goto 77
      StackMap locals: java.lang.ClassLoader org.apache.commons.logging.LogFactory java.util.Properties java.lang.ClassLoader
      StackMap stack: java.lang.Exception
        70: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        71: .line 564
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 77
        72: .line 566
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] A security exception occurred while trying to create an instance of the custom factory class: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        73: .line 568
            aload 4 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.trim:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        74: .line 569
            ldc "]. Trying alternative implementations..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        75: .line 566
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        76: .line 565
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 4 // java.lang.Exception ex
        77: .line 577
      StackMap locals:
      StackMap stack:
            aload 1 /* factory */
            ifnonnull 94
        78: .line 578
            aload 2 /* props */
            ifnull 92
        79: .line 579
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 82
        80: .line 581
            ldc "[LOOKUP] Looking in properties file for entry with key 'org.apache.commons.logging.LogFactory' to define the LogFactory subclass to use..."
        81: .line 580
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        82: .line 584
      StackMap locals:
      StackMap stack:
            aload 2 /* props */
            ldc "org.apache.commons.logging.LogFactory"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* factoryClass */
        start local 4 // java.lang.String factoryClass
        83: .line 585
            aload 4 /* factoryClass */
            ifnull 89
        84: .line 586
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 87
        85: .line 588
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] Properties file specifies LogFactory subclass '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* factoryClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        86: .line 587
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        87: .line 590
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* factoryClass */
            aload 3 /* baseClassLoader */
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.newFactory:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
            astore 1 /* factory */
        88: .line 593
            goto 94
        89: .line 594
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 94
        90: .line 595
            ldc "[LOOKUP] Properties file has no entry specifying LogFactory subclass."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 4 // java.lang.String factoryClass
        91: .line 598
            goto 94
        92: .line 599
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 94
        93: .line 600
            ldc "[LOOKUP] No properties file available to determine LogFactory subclass from.."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        94: .line 607
      StackMap locals:
      StackMap stack:
            aload 1 /* factory */
            ifnonnull 99
        95: .line 608
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 98
        96: .line 610
            ldc "[LOOKUP] Loading the default LogFactory implementation 'org.apache.commons.logging.impl.LogFactoryImpl' via the same classloader that loaded this LogFactory class (ie not looking in the context classloader)."
        97: .line 609
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        98: .line 624
      StackMap locals:
      StackMap stack:
            ldc "org.apache.commons.logging.impl.LogFactoryImpl"
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            aload 0 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.newFactory:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
            astore 1 /* factory */
        99: .line 627
      StackMap locals:
      StackMap stack:
            aload 1 /* factory */
            ifnull 108
       100: .line 631
            aload 0 /* contextClassLoader */
            aload 1 /* factory */
            invokestatic org.apache.commons.logging.LogFactory.cacheFactory:(Ljava/lang/ClassLoader;Lorg/apache/commons/logging/LogFactory;)V
       101: .line 633
            aload 2 /* props */
            ifnull 108
       102: .line 634
            aload 2 /* props */
            invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
            astore 4 /* names */
        start local 4 // java.util.Enumeration names
       103: .line 635
            goto 107
       104: .line 636
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 4 /* names */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
       105: .line 637
            aload 2 /* props */
            aload 5 /* name */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
       106: .line 638
            aload 1 /* factory */
            aload 5 /* name */
            aload 6 /* value */
            invokevirtual org.apache.commons.logging.LogFactory.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 6 // java.lang.String value
        end local 5 // java.lang.String name
       107: .line 635
      StackMap locals:
      StackMap stack:
            aload 4 /* names */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 104
        end local 4 // java.util.Enumeration names
       108: .line 643
      StackMap locals:
      StackMap stack:
            aload 1 /* factory */
            areturn
        end local 3 // java.lang.ClassLoader baseClassLoader
        end local 2 // java.util.Properties props
        end local 1 // org.apache.commons.logging.LogFactory factory
        end local 0 // java.lang.ClassLoader contextClassLoader
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            1  109     0  contextClassLoader  Ljava/lang/ClassLoader;
            5  109     1             factory  Lorg/apache/commons/logging/LogFactory;
           14  109     2               props  Ljava/util/Properties;
           15  109     3     baseClassLoader  Ljava/lang/ClassLoader;
           17   20     4          useTCCLStr  Ljava/lang/String;
           23   32     4        factoryClass  Ljava/lang/String;
           34   39     4                   e  Ljava/lang/SecurityException;
           41   47     4                   e  Ljava/lang/RuntimeException;
           51   69     4                  is  Ljava/io/InputStream;
           53   54     5                  rd  Ljava/io/BufferedReader;
           56   66     5                  rd  Ljava/io/BufferedReader;
           57   66     6    factoryClassName  Ljava/lang/String;
           71   77     4                  ex  Ljava/lang/Exception;
           83   91     4        factoryClass  Ljava/lang/String;
          103  108     4               names  Ljava/util/Enumeration;
          105  107     5                name  Ljava/lang/String;
          106  107     6               value  Ljava/lang/String;
      Exception table:
        from    to  target  type
          22    32      33  Class java.lang.SecurityException
          22    32      40  Class java.lang.RuntimeException
          52    53      54  Class java.io.UnsupportedEncodingException
          50    69      70  Class java.lang.Exception
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException

  public static org.apache.commons.logging.Log getLog(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 655
            invokestatic org.apache.commons.logging.LogFactory.getFactory:()Lorg/apache/commons/logging/LogFactory;
            aload 0 /* clazz */
            invokevirtual org.apache.commons.logging.LogFactory.getInstance:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class;
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException
    MethodParameters:
       Name  Flags
      clazz  

  public static org.apache.commons.logging.Log getLog(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/commons/logging/Log;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 669
            invokestatic org.apache.commons.logging.LogFactory.getFactory:()Lorg/apache/commons/logging/LogFactory;
            aload 0 /* name */
            invokevirtual org.apache.commons.logging.LogFactory.getInstance:(Ljava/lang/String;)Lorg/apache/commons/logging/Log;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException
    MethodParameters:
      Name  Flags
      name  

  public static void release(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.ClassLoader classLoader
         0: .line 681
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 2
         1: .line 682
            new java.lang.StringBuilder
            dup
            ldc "Releasing factory for classloader "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         2: .line 685
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.logging.LogFactory.factories:Ljava/util/Hashtable;
            astore 1 /* factories */
        start local 1 // java.util.Hashtable factories
         3: .line 686
            aload 1 /* factories */
            dup
            astore 2
            monitorenter
         4: .line 687
            aload 0 /* classLoader */
            ifnonnull 9
         5: .line 688
            getstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
            ifnull 13
         6: .line 689
            getstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
            invokevirtual org.apache.commons.logging.LogFactory.release:()V
         7: .line 690
            aconst_null
            putstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
         8: .line 692
            goto 13
         9: .line 693
      StackMap locals: java.util.Hashtable java.util.Hashtable
      StackMap stack:
            aload 1 /* factories */
            aload 0 /* classLoader */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.logging.LogFactory
            astore 3 /* factory */
        start local 3 // org.apache.commons.logging.LogFactory factory
        10: .line 694
            aload 3 /* factory */
            ifnull 13
        11: .line 695
            aload 3 /* factory */
            invokevirtual org.apache.commons.logging.LogFactory.release:()V
        12: .line 696
            aload 1 /* factories */
            aload 0 /* classLoader */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // org.apache.commons.logging.LogFactory factory
        13: .line 686
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 700
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Hashtable factories
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0  classLoader  Ljava/lang/ClassLoader;
            3   18     1    factories  Ljava/util/Hashtable;
           10   13     3      factory  Lorg/apache/commons/logging/LogFactory;
      Exception table:
        from    to  target  type
           4    14      15  any
          15    16      15  any
    MethodParameters:
             Name  Flags
      classLoader  

  public static void releaseAll();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 711
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 2
         1: .line 712
            ldc "Releasing factory for all classloaders."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         2: .line 715
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.logging.LogFactory.factories:Ljava/util/Hashtable;
            astore 0 /* factories */
        start local 0 // java.util.Hashtable factories
         3: .line 716
            aload 0 /* factories */
            dup
            astore 1
            monitorenter
         4: .line 717
            aload 0 /* factories */
            invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
            astore 2 /* elements */
        start local 2 // java.util.Enumeration elements
         5: .line 718
            goto 8
         6: .line 719
      StackMap locals: java.util.Hashtable java.util.Hashtable java.util.Enumeration
      StackMap stack:
            aload 2 /* elements */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast org.apache.commons.logging.LogFactory
            astore 3 /* element */
        start local 3 // org.apache.commons.logging.LogFactory element
         7: .line 720
            aload 3 /* element */
            invokevirtual org.apache.commons.logging.LogFactory.release:()V
        end local 3 // org.apache.commons.logging.LogFactory element
         8: .line 718
      StackMap locals:
      StackMap stack:
            aload 2 /* elements */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
         9: .line 722
            aload 0 /* factories */
            invokevirtual java.util.Hashtable.clear:()V
        10: .line 724
            getstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
            ifnull 13
        11: .line 725
            getstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
            invokevirtual org.apache.commons.logging.LogFactory.release:()V
        12: .line 726
            aconst_null
            putstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
        end local 2 // java.util.Enumeration elements
        13: .line 716
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 1
            monitorexit
        16: athrow
        17: .line 729
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.Hashtable factories
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            3   18     0  factories  Ljava/util/Hashtable;
            5   13     2   elements  Ljava/util/Enumeration;
            7    8     3    element  Lorg/apache/commons/logging/LogFactory;
      Exception table:
        from    to  target  type
           4    14      15  any
          15    16      15  any

  protected static java.lang.ClassLoader getClassLoader(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 762
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: areturn
         2: .line 763
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 1 /* ex */
        start local 1 // java.lang.SecurityException ex
         3: .line 764
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 7
         4: .line 765
            new java.lang.StringBuilder
            dup
            ldc "Unable to get classloader for class '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 766
            ldc "' due to security restrictions - "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* ex */
            invokevirtual java.lang.SecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 765
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         7: .line 768
      StackMap locals: java.lang.SecurityException
      StackMap stack:
            aload 1 /* ex */
            athrow
        end local 1 // java.lang.SecurityException ex
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  clazz  Ljava/lang/Class;
            3    8     1     ex  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.SecurityException
    MethodParameters:
       Name  Flags
      clazz  

  protected static java.lang.ClassLoader getContextClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 790
            invokestatic org.apache.commons.logging.LogFactory.directGetContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException

  private static java.lang.ClassLoader getContextClassLoaderInternal();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 809
            new org.apache.commons.logging.LogFactory$1
            dup
            invokespecial org.apache.commons.logging.LogFactory$1.<init>:()V
         1: .line 808
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException

  protected static java.lang.ClassLoader directGetContextClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 837
            aconst_null
            astore 0 /* classLoader */
        start local 0 // java.lang.ClassLoader classLoader
         1: .line 840
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* classLoader */
         2: .line 841
            goto 4
      StackMap locals: java.lang.ClassLoader
      StackMap stack: java.lang.SecurityException
         3: pop
         4: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* classLoader */
            areturn
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    5     0  classLoader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException

  private static org.apache.commons.logging.LogFactory getCachedFactory(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.ClassLoader contextClassLoader
         0: .line 873
            aload 0 /* contextClassLoader */
            ifnonnull 2
         1: .line 878
            getstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
            areturn
         2: .line 880
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.logging.LogFactory.factories:Ljava/util/Hashtable;
            aload 0 /* contextClassLoader */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.logging.LogFactory
            areturn
        end local 0 // java.lang.ClassLoader contextClassLoader
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0  contextClassLoader  Ljava/lang/ClassLoader;
    MethodParameters:
                    Name  Flags
      contextClassLoader  

  private static void cacheFactory(java.lang.ClassLoader, org.apache.commons.logging.LogFactory);
    descriptor: (Ljava/lang/ClassLoader;Lorg/apache/commons/logging/LogFactory;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader classLoader
        start local 1 // org.apache.commons.logging.LogFactory factory
         0: .line 897
            aload 1 /* factory */
            ifnull 5
         1: .line 898
            aload 0 /* classLoader */
            ifnonnull 4
         2: .line 899
            aload 1 /* factory */
            putstatic org.apache.commons.logging.LogFactory.nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory;
         3: .line 900
            goto 5
         4: .line 901
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.logging.LogFactory.factories:Ljava/util/Hashtable;
            aload 0 /* classLoader */
            aload 1 /* factory */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 904
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.logging.LogFactory factory
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0  classLoader  Ljava/lang/ClassLoader;
            0    6     1      factory  Lorg/apache/commons/logging/LogFactory;
    MethodParameters:
             Name  Flags
      classLoader  
      factory      

  protected static org.apache.commons.logging.LogFactory newFactory(java.lang.String, java.lang.ClassLoader, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String factoryClass
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.lang.ClassLoader contextClassLoader
         0: .line 958
            new org.apache.commons.logging.LogFactory$2
            dup
            aload 0 /* factoryClass */
            aload 1 /* classLoader */
            invokespecial org.apache.commons.logging.LogFactory$2.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
         1: .line 957
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         2: .line 964
            aload 3 /* result */
            instanceof org.apache.commons.logging.LogConfigurationException
            ifeq 7
         3: .line 965
            aload 3 /* result */
            checkcast org.apache.commons.logging.LogConfigurationException
            astore 4 /* ex */
        start local 4 // org.apache.commons.logging.LogConfigurationException ex
         4: .line 966
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 6
         5: .line 967
            new java.lang.StringBuilder
            dup
            ldc "An error occurred while loading the factory class:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* ex */
            invokevirtual org.apache.commons.logging.LogConfigurationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         6: .line 969
      StackMap locals: java.lang.Object org.apache.commons.logging.LogConfigurationException
      StackMap stack:
            aload 4 /* ex */
            athrow
        end local 4 // org.apache.commons.logging.LogConfigurationException ex
         7: .line 971
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 11
         8: .line 972
            new java.lang.StringBuilder
            dup
            ldc "Created object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* result */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to manage classloader "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 973
            aload 2 /* contextClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 972
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        11: .line 975
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            checkcast org.apache.commons.logging.LogFactory
            areturn
        end local 3 // java.lang.Object result
        end local 2 // java.lang.ClassLoader contextClassLoader
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String factoryClass
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0        factoryClass  Ljava/lang/String;
            0   12     1         classLoader  Ljava/lang/ClassLoader;
            0   12     2  contextClassLoader  Ljava/lang/ClassLoader;
            2   12     3              result  Ljava/lang/Object;
            4    7     4                  ex  Lorg/apache/commons/logging/LogConfigurationException;
    Exceptions:
      throws org.apache.commons.logging.LogConfigurationException
    MethodParameters:
                    Name  Flags
      factoryClass        final
      classLoader         final
      contextClassLoader  final

  protected static org.apache.commons.logging.LogFactory newFactory(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String factoryClass
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 995
            aload 0 /* factoryClass */
            aload 1 /* classLoader */
            aconst_null
            invokestatic org.apache.commons.logging.LogFactory.newFactory:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory;
            areturn
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String factoryClass
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  factoryClass  Ljava/lang/String;
            0    1     1   classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
              Name  Flags
      factoryClass  final
      classLoader   final

  protected static java.lang.Object createFactory(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String factoryClass
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 1012
            aconst_null
            astore 2 /* logFactoryClass */
        start local 2 // java.lang.Class logFactoryClass
         1: .line 1014
            aload 1 /* classLoader */
            ifnull 57
         2: .line 1020
            aload 1 /* classLoader */
            aload 0 /* factoryClass */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* logFactoryClass */
         3: .line 1021
            ldc Lorg/apache/commons/logging/LogFactory;
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 9
         4: .line 1022
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 16
         5: .line 1023
            new java.lang.StringBuilder
            dup
            ldc "Loaded class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1024
            ldc " from classloader "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1023
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         8: .line 1026
            goto 16
         9: .line 1038
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 16
        10: .line 1039
            new java.lang.StringBuilder
            dup
            ldc "Factory class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1040
            ldc " loaded from classloader "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1041
            ldc " does not extend '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/apache/commons/logging/LogFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1042
            ldc "' as loaded by this classloader."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1039
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        15: .line 1043
            ldc "[BAD CL TREE] "
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.logHierarchy:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
        16: .line 1047
      StackMap locals:
      StackMap stack:
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.apache.commons.logging.LogFactory
        17: areturn
        18: .line 1049
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
        19: .line 1050
            aload 1 /* classLoader */
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            if_acmpne 57
        20: .line 1052
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 24
        21: .line 1053
            new java.lang.StringBuilder
            dup
            ldc "Unable to locate any class called '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* factoryClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 1054
            ldc "' via classloader "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1053
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        24: .line 1056
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.ClassNotFoundException ex
        25: .line 1059
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.Class
      StackMap stack: java.lang.NoClassDefFoundError
            astore 3 /* e */
        start local 3 // java.lang.NoClassDefFoundError e
        26: .line 1060
            aload 1 /* classLoader */
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            if_acmpne 57
        27: .line 1062
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 32
        28: .line 1063
            new java.lang.StringBuilder
            dup
            ldc "Class '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* factoryClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' cannot be loaded"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 1064
            ldc " via classloader "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 1065
            ldc " - it depends on some other class that cannot be found."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 1063
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        32: .line 1067
      StackMap locals: java.lang.NoClassDefFoundError
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.lang.NoClassDefFoundError e
        33: .line 1070
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.Class
      StackMap stack: java.lang.ClassCastException
            pop
        34: .line 1071
            aload 1 /* classLoader */
            getstatic org.apache.commons.logging.LogFactory.thisClassLoader:Ljava/lang/ClassLoader;
            if_acmpne 57
        35: .line 1077
            aload 2 /* logFactoryClass */
            invokestatic org.apache.commons.logging.LogFactory.implementsLogFactory:(Ljava/lang/Class;)Z
            istore 3 /* implementsLogFactory */
        start local 3 // boolean implementsLogFactory
        36: .line 1084
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* msg */
        start local 4 // java.lang.StringBuffer msg
        37: .line 1085
            aload 4 /* msg */
            ldc "The application has specified that a custom LogFactory implementation "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        38: .line 1086
            aload 4 /* msg */
            ldc "should be used but Class '"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        39: .line 1087
            aload 4 /* msg */
            aload 0 /* factoryClass */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        40: .line 1088
            aload 4 /* msg */
            ldc "' cannot be converted to '"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        41: .line 1089
            aload 4 /* msg */
            ldc Lorg/apache/commons/logging/LogFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        42: .line 1090
            aload 4 /* msg */
            ldc "'. "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        43: .line 1091
            iload 3 /* implementsLogFactory */
            ifeq 52
        44: .line 1092
            aload 4 /* msg */
            ldc "The conflict is caused by the presence of multiple LogFactory classes "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        45: .line 1093
            aload 4 /* msg */
            ldc "in incompatible classloaders. "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        46: .line 1094
            aload 4 /* msg */
            ldc "Background can be found in http://commons.apache.org/logging/tech.html. "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        47: .line 1095
            aload 4 /* msg */
            ldc "If you have not explicitly specified a custom LogFactory then it is likely "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        48: .line 1096
            aload 4 /* msg */
            ldc "that the container has set one without your knowledge. "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        49: .line 1097
            aload 4 /* msg */
            ldc "In this case, consider using the commons-logging-adapters.jar file or "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        50: .line 1098
            aload 4 /* msg */
            ldc "specifying the standard LogFactory from the command line. "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        51: .line 1099
            goto 53
        52: .line 1100
      StackMap locals: int java.lang.StringBuffer
      StackMap stack:
            aload 4 /* msg */
            ldc "Please check the custom implementation. "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        53: .line 1102
      StackMap locals:
      StackMap stack:
            aload 4 /* msg */
            ldc "Help can be found @http://commons.apache.org/logging/troubleshooting.html."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        54: .line 1104
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 56
        55: .line 1105
            aload 4 /* msg */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        56: .line 1108
      StackMap locals:
      StackMap stack:
            new java.lang.ClassCastException
            dup
            aload 4 /* msg */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.StringBuffer msg
        end local 3 // boolean implementsLogFactory
        57: .line 1142
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 61
        58: .line 1143
            new java.lang.StringBuilder
            dup
            ldc "Unable to load factory class via classloader "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 1144
            ldc " - trying the classloader associated with this LogFactory."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 1143
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        61: .line 1146
      StackMap locals:
      StackMap stack:
            aload 0 /* factoryClass */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* logFactoryClass */
        62: .line 1147
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.apache.commons.logging.LogFactory
        63: areturn
        64: .line 1148
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        65: .line 1150
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 67
        66: .line 1151
            ldc "Unable to create LogFactory instance."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        67: .line 1153
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 2 /* logFactoryClass */
            ifnull 72
            ldc Lorg/apache/commons/logging/LogFactory;
            aload 2 /* logFactoryClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 72
        68: .line 1154
            new org.apache.commons.logging.LogConfigurationException
            dup
        69: .line 1155
            ldc "The chosen LogFactory implementation does not extend LogFactory. Please check your configuration."
        70: .line 1156
            aload 3 /* e */
        71: .line 1154
            invokespecial org.apache.commons.logging.LogConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        72: .line 1158
      StackMap locals:
      StackMap stack:
            new org.apache.commons.logging.LogConfigurationException
            dup
            aload 3 /* e */
            invokespecial org.apache.commons.logging.LogConfigurationException.<init>:(Ljava/lang/Throwable;)V
            areturn
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.Class logFactoryClass
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String factoryClass
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   73     0          factoryClass  Ljava/lang/String;
            0   73     1           classLoader  Ljava/lang/ClassLoader;
            1   73     2       logFactoryClass  Ljava/lang/Class;
           19   25     3                    ex  Ljava/lang/ClassNotFoundException;
           26   33     3                     e  Ljava/lang/NoClassDefFoundError;
           36   57     3  implementsLogFactory  Z
           37   57     4                   msg  Ljava/lang/StringBuffer;
           65   73     3                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2    17      18  Class java.lang.ClassNotFoundException
           2    17      25  Class java.lang.NoClassDefFoundError
           2    17      33  Class java.lang.ClassCastException
           1    17      64  Class java.lang.Exception
          18    63      64  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      factoryClass  
      classLoader   

  private static boolean implementsLogFactory(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class logFactoryClass
         0: .line 1175
            iconst_0
            istore 1 /* implementsLogFactory */
        start local 1 // boolean implementsLogFactory
         1: .line 1176
            aload 0 /* logFactoryClass */
            ifnull 31
         2: .line 1178
            aload 0 /* logFactoryClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* logFactoryClassLoader */
        start local 2 // java.lang.ClassLoader logFactoryClassLoader
         3: .line 1179
            aload 2 /* logFactoryClassLoader */
            ifnonnull 6
         4: .line 1180
            ldc "[CUSTOM LOG FACTORY] was loaded by the boot classloader"
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         5: .line 1181
            goto 31
         6: .line 1182
      StackMap locals: int java.lang.ClassLoader
      StackMap stack:
            ldc "[CUSTOM LOG FACTORY] "
            aload 2 /* logFactoryClassLoader */
            invokestatic org.apache.commons.logging.LogFactory.logHierarchy:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
         7: .line 1184
            ldc "org.apache.commons.logging.LogFactory"
            iconst_0
            aload 2 /* logFactoryClassLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         8: .line 1183
            astore 3 /* factoryFromCustomLoader */
        start local 3 // java.lang.Class factoryFromCustomLoader
         9: .line 1185
            aload 3 /* factoryFromCustomLoader */
            aload 0 /* logFactoryClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            istore 1 /* implementsLogFactory */
        10: .line 1186
            iload 1 /* implementsLogFactory */
            ifeq 15
        11: .line 1187
            new java.lang.StringBuilder
            dup
            ldc "[CUSTOM LOG FACTORY] "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* logFactoryClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1188
            ldc " implements LogFactory but was loaded by an incompatible classloader."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1187
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        14: .line 1189
            goto 31
        15: .line 1190
      StackMap locals: java.lang.Class
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[CUSTOM LOG FACTORY] "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* logFactoryClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 1191
            ldc " does not implement LogFactory."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1190
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 3 // java.lang.Class factoryFromCustomLoader
        end local 2 // java.lang.ClassLoader logFactoryClassLoader
        18: .line 1194
            goto 31
      StackMap locals: java.lang.Class int
      StackMap stack: java.lang.SecurityException
        19: astore 2 /* e */
        start local 2 // java.lang.SecurityException e
        20: .line 1200
            new java.lang.StringBuilder
            dup
            ldc "[CUSTOM LOG FACTORY] SecurityException thrown whilst trying to determine whether the compatibility was caused by a classloader conflict: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 1201
            aload 2 /* e */
            invokevirtual java.lang.SecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 1200
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 2 // java.lang.SecurityException e
        23: goto 31
        24: .line 1202
      StackMap locals:
      StackMap stack: java.lang.LinkageError
            astore 2 /* e */
        start local 2 // java.lang.LinkageError e
        25: .line 1209
            new java.lang.StringBuilder
            dup
            ldc "[CUSTOM LOG FACTORY] LinkageError thrown whilst trying to determine whether the compatibility was caused by a classloader conflict: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 1210
            aload 2 /* e */
            invokevirtual java.lang.LinkageError.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 1209
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 2 // java.lang.LinkageError e
        28: goto 31
        29: .line 1211
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
        30: .line 1219
            ldc "[CUSTOM LOG FACTORY] LogFactory class cannot be loaded by classloader which loaded the custom LogFactory implementation. Is the custom factory in the right classloader?"
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        31: .line 1223
      StackMap locals:
      StackMap stack:
            iload 1 /* implementsLogFactory */
            ireturn
        end local 1 // boolean implementsLogFactory
        end local 0 // java.lang.Class logFactoryClass
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   32     0          logFactoryClass  Ljava/lang/Class;
            1   32     1     implementsLogFactory  Z
            3   18     2    logFactoryClassLoader  Ljava/lang/ClassLoader;
            9   18     3  factoryFromCustomLoader  Ljava/lang/Class;
           20   23     2                        e  Ljava/lang/SecurityException;
           25   28     2                        e  Ljava/lang/LinkageError;
      Exception table:
        from    to  target  type
           2    18      19  Class java.lang.SecurityException
           2    18      24  Class java.lang.LinkageError
           2    18      29  Class java.lang.ClassNotFoundException
    MethodParameters:
                 Name  Flags
      logFactoryClass  

  private static java.io.InputStream getResourceAsStream(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.String name
         0: .line 1234
            new org.apache.commons.logging.LogFactory$3
            dup
            aload 0 /* loader */
            aload 1 /* name */
            invokespecial org.apache.commons.logging.LogFactory$3.<init>:(Ljava/lang/ClassLoader;Ljava/lang/String;)V
         1: .line 1233
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.InputStream
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  loader  Ljava/lang/ClassLoader;
            0    2     1    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      loader  final
      name    final

  private static java.util.Enumeration getResources(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.String name
         0: .line 1260
            new org.apache.commons.logging.LogFactory$4
            dup
            aload 0 /* loader */
            aload 1 /* name */
            invokespecial org.apache.commons.logging.LogFactory$4.<init>:(Ljava/lang/ClassLoader;Ljava/lang/String;)V
         1: .line 1259
            astore 2 /* action */
        start local 2 // java.security.PrivilegedAction action
         2: .line 1282
            aload 2 /* action */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 1283
            aload 3 /* result */
            checkcast java.util.Enumeration
            areturn
        end local 3 // java.lang.Object result
        end local 2 // java.security.PrivilegedAction action
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  loader  Ljava/lang/ClassLoader;
            0    4     1    name  Ljava/lang/String;
            2    4     2  action  Ljava/security/PrivilegedAction;
            3    4     3  result  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      loader  final
      name    final

  private static java.util.Properties getProperties(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/Properties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.net.URL url
         0: .line 1296
            new org.apache.commons.logging.LogFactory$5
            dup
            aload 0 /* url */
            invokespecial org.apache.commons.logging.LogFactory$5.<init>:(Ljava/net/URL;)V
         1: .line 1295
            astore 1 /* action */
        start local 1 // java.security.PrivilegedAction action
         2: .line 1333
            aload 1 /* action */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.Properties
            areturn
        end local 1 // java.security.PrivilegedAction action
        end local 0 // java.net.URL url
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0     url  Ljava/net/URL;
            2    3     1  action  Ljava/security/PrivilegedAction;
    MethodParameters:
      Name  Flags
      url   final

  private static final java.util.Properties getConfigurationFile(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Properties;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // java.lang.ClassLoader classLoader
        start local 1 // java.lang.String fileName
         0: .line 1356
            aconst_null
            astore 2 /* props */
        start local 2 // java.util.Properties props
         1: .line 1357
            dconst_0
            dstore 3 /* priority */
        start local 3 // double priority
         2: .line 1358
            aconst_null
            astore 5 /* propsUrl */
        start local 5 // java.net.URL propsUrl
         3: .line 1360
            aload 0 /* classLoader */
            aload 1 /* fileName */
            invokestatic org.apache.commons.logging.LogFactory.getResources:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Enumeration;
            astore 6 /* urls */
        start local 6 // java.util.Enumeration urls
         4: .line 1362
            aload 6 /* urls */
            ifnonnull 42
         5: .line 1363
            aconst_null
            areturn
         6: .line 1367
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Properties double java.net.URL java.util.Enumeration
      StackMap stack:
            aload 6 /* urls */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 7 /* url */
        start local 7 // java.net.URL url
         7: .line 1369
            aload 7 /* url */
            invokestatic org.apache.commons.logging.LogFactory.getProperties:(Ljava/net/URL;)Ljava/util/Properties;
            astore 8 /* newProps */
        start local 8 // java.util.Properties newProps
         8: .line 1370
            aload 8 /* newProps */
            ifnull 42
         9: .line 1371
            aload 2 /* props */
            ifnonnull 21
        10: .line 1372
            aload 7 /* url */
            astore 5 /* propsUrl */
        11: .line 1373
            aload 8 /* newProps */
            astore 2 /* props */
        12: .line 1374
            aload 2 /* props */
            ldc "priority"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* priorityStr */
        start local 9 // java.lang.String priorityStr
        13: .line 1375
            dconst_0
            dstore 3 /* priority */
        14: .line 1376
            aload 9 /* priorityStr */
            ifnull 16
        15: .line 1377
            aload 9 /* priorityStr */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 3 /* priority */
        16: .line 1380
      StackMap locals: java.net.URL java.util.Properties java.lang.String
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 42
        17: .line 1381
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] Properties file found at '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 1382
            ldc " with priority "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 3 /* priority */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        19: .line 1381
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 9 // java.lang.String priorityStr
        20: .line 1384
            goto 42
        21: .line 1385
      StackMap locals:
      StackMap stack:
            aload 8 /* newProps */
            ldc "priority"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* newPriorityStr */
        start local 9 // java.lang.String newPriorityStr
        22: .line 1386
            dconst_0
            dstore 10 /* newPriority */
        start local 10 // double newPriority
        23: .line 1387
            aload 9 /* newPriorityStr */
            ifnull 25
        24: .line 1388
            aload 9 /* newPriorityStr */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 10 /* newPriority */
        25: .line 1391
      StackMap locals: java.lang.String double
      StackMap stack:
            dload 10 /* newPriority */
            dload 3 /* priority */
            dcmpl
            ifle 36
        26: .line 1392
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 32
        27: .line 1393
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] Properties file at '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 1394
            ldc " with priority "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 10 /* newPriority */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        29: .line 1395
            ldc " overrides file at '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* propsUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 1396
            ldc " with priority "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 3 /* priority */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        31: .line 1393
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        32: .line 1399
      StackMap locals:
      StackMap stack:
            aload 7 /* url */
            astore 5 /* propsUrl */
        33: .line 1400
            aload 8 /* newProps */
            astore 2 /* props */
        34: .line 1401
            dload 10 /* newPriority */
            dstore 3 /* priority */
        35: .line 1402
            goto 42
        36: .line 1403
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 42
        37: .line 1404
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] Properties file at '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 1405
            ldc " with priority "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 10 /* newPriority */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        39: .line 1406
            ldc " does not override file at '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* propsUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1407
            ldc " with priority "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 3 /* priority */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        41: .line 1404
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 10 // double newPriority
        end local 9 // java.lang.String newPriorityStr
        end local 8 // java.util.Properties newProps
        end local 7 // java.net.URL url
        42: .line 1366
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Properties double java.net.URL java.util.Enumeration
      StackMap stack:
            aload 6 /* urls */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        end local 6 // java.util.Enumeration urls
        43: .line 1414
            goto 47
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Properties double java.net.URL
      StackMap stack: java.lang.SecurityException
        44: pop
        45: .line 1415
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 47
        46: .line 1416
            ldc "SecurityException thrown while trying to find/read config files."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        47: .line 1420
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifeq 52
        48: .line 1421
            aload 2 /* props */
            ifnonnull 51
        49: .line 1422
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] No properties file of name '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' found."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        50: .line 1423
            goto 52
        51: .line 1424
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[LOOKUP] Properties file of name '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' found at '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* propsUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        52: .line 1428
      StackMap locals:
      StackMap stack:
            aload 2 /* props */
            areturn
        end local 5 // java.net.URL propsUrl
        end local 3 // double priority
        end local 2 // java.util.Properties props
        end local 1 // java.lang.String fileName
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   53     0     classLoader  Ljava/lang/ClassLoader;
            0   53     1        fileName  Ljava/lang/String;
            1   53     2           props  Ljava/util/Properties;
            2   53     3        priority  D
            3   53     5        propsUrl  Ljava/net/URL;
            4   43     6            urls  Ljava/util/Enumeration;
            7   42     7             url  Ljava/net/URL;
            8   42     8        newProps  Ljava/util/Properties;
           13   20     9     priorityStr  Ljava/lang/String;
           22   42     9  newPriorityStr  Ljava/lang/String;
           23   42    10     newPriority  D
      Exception table:
        from    to  target  type
           3     5      44  Class java.lang.SecurityException
           6    43      44  Class java.lang.SecurityException
    MethodParameters:
             Name  Flags
      classLoader  
      fileName     

  private static java.lang.String getSystemProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.String def
         0: .line 1443
            new org.apache.commons.logging.LogFactory$6
            dup
            aload 0 /* key */
            aload 1 /* def */
            invokespecial org.apache.commons.logging.LogFactory$6.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 1442
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String def
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   key  Ljava/lang/String;
            0    2     1   def  Ljava/lang/String;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
      Name  Flags
      key   final
      def   final

  private static java.io.PrintStream initDiagnostics();
    descriptor: ()Ljava/io/PrintStream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 1459
            ldc "org.apache.commons.logging.diagnostics.dest"
            aconst_null
            invokestatic org.apache.commons.logging.LogFactory.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* dest */
        start local 0 // java.lang.String dest
         1: .line 1460
            aload 0 /* dest */
            ifnonnull 5
         2: .line 1461
            aconst_null
            areturn
        end local 0 // java.lang.String dest
         3: .line 1463
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
         4: .line 1466
            aconst_null
            areturn
        start local 0 // java.lang.String dest
         5: .line 1469
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* dest */
            ldc "STDOUT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1470
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            areturn
         7: .line 1471
      StackMap locals:
      StackMap stack:
            aload 0 /* dest */
            ldc "STDERR"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1472
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            areturn
         9: .line 1476
      StackMap locals:
      StackMap stack:
            new java.io.FileOutputStream
            dup
            aload 0 /* dest */
            iconst_1
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;Z)V
            astore 1 /* fos */
        start local 1 // java.io.FileOutputStream fos
        10: .line 1477
            new java.io.PrintStream
            dup
            aload 1 /* fos */
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
        11: areturn
        end local 1 // java.io.FileOutputStream fos
        12: .line 1478
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        13: .line 1480
            aconst_null
            areturn
        end local 0 // java.lang.String dest
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    3     0  dest  Ljava/lang/String;
            5   14     0  dest  Ljava/lang/String;
           10   12     1   fos  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.SecurityException
           9    11      12  Class java.io.IOException

  protected static boolean isDiagnosticsEnabled();
    descriptor: ()Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1495
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static final void logDiagnostic(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 1517
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            ifnull 4
         1: .line 1518
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            getstatic org.apache.commons.logging.LogFactory.diagnosticPrefix:Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         2: .line 1519
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            aload 0 /* msg */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 1520
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         4: .line 1522
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  protected static final void logRawDiagnostic(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 1531
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            ifnull 3
         1: .line 1532
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            aload 0 /* msg */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1533
            getstatic org.apache.commons.logging.LogFactory.diagnosticsStream:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         3: .line 1535
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static void logClassLoaderEnvironment(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 1555
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifne 2
         1: .line 1556
            return
         2: .line 1563
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[ENV] Extension directories (java.ext.dir): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "java.ext.dir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         3: .line 1564
            new java.lang.StringBuilder
            dup
            ldc "[ENV] Application classpath (java.class.path): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         4: .line 1565
            goto 7
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         5: pop
         6: .line 1566
            ldc "[ENV] Security setting prevent interrogation of system classpaths."
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         7: .line 1569
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* className */
        start local 1 // java.lang.String className
         8: .line 1573
            aload 0 /* clazz */
            invokestatic org.apache.commons.logging.LogFactory.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
        start local 2 // java.lang.ClassLoader classLoader
         9: .line 1574
            goto 13
        end local 2 // java.lang.ClassLoader classLoader
      StackMap locals: java.lang.Class java.lang.String
      StackMap stack: java.lang.SecurityException
        10: pop
        11: .line 1576
            new java.lang.StringBuilder
            dup
            ldc "[ENV] Security forbids determining the classloader for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        12: .line 1577
            return
        start local 2 // java.lang.ClassLoader classLoader
        13: .line 1580
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[ENV] Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " was loaded via classloader "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        14: .line 1581
            new java.lang.StringBuilder
            dup
            ldc "[ENV] Ancestry of classloader which loaded "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.logHierarchy:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
        15: .line 1582
            return
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String className
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0        clazz  Ljava/lang/Class;
            8   16     1    className  Ljava/lang/String;
            9   10     2  classLoader  Ljava/lang/ClassLoader;
           13   16     2  classLoader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.SecurityException
           8     9      10  Class java.lang.SecurityException
    MethodParameters:
       Name  Flags
      clazz  

  private static void logHierarchy(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String prefix
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 1592
            invokestatic org.apache.commons.logging.LogFactory.isDiagnosticsEnabled:()Z
            ifne 2
         1: .line 1593
            return
         2: .line 1596
      StackMap locals:
      StackMap stack:
            aload 1 /* classLoader */
            ifnull 5
         3: .line 1597
            aload 1 /* classLoader */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* classLoaderString */
        start local 3 // java.lang.String classLoaderString
         4: .line 1598
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " == '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* classLoaderString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 3 // java.lang.String classLoaderString
         5: .line 1602
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* systemClassLoader */
        start local 2 // java.lang.ClassLoader systemClassLoader
         6: .line 1603
            goto 10
        end local 2 // java.lang.ClassLoader systemClassLoader
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         7: pop
         8: .line 1604
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Security forbids determining the system classloader."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
         9: .line 1605
            return
        start local 2 // java.lang.ClassLoader systemClassLoader
        10: .line 1607
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* classLoader */
            ifnull 24
        11: .line 1608
            new java.lang.StringBuffer
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "ClassLoader tree:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuffer buf
        12: .line 1610
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 3 /* buf */
            aload 1 /* classLoader */
            invokestatic org.apache.commons.logging.LogFactory.objectId:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 1611
            aload 1 /* classLoader */
            aload 2 /* systemClassLoader */
            if_acmpne 15
        14: .line 1612
            aload 3 /* buf */
            ldc " (SYSTEM) "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 1616
      StackMap locals:
      StackMap stack:
            aload 1 /* classLoader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 1 /* classLoader */
        16: .line 1617
            goto 20
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        17: pop
        18: .line 1618
            aload 3 /* buf */
            ldc " --> SECRET"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 1619
            goto 23
        20: .line 1622
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            ldc " --> "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 1623
            aload 1 /* classLoader */
            ifnonnull 12
        22: .line 1624
            aload 3 /* buf */
            ldc "BOOT"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        23: .line 1628
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.logging.LogFactory.logDiagnostic:(Ljava/lang/String;)V
        end local 3 // java.lang.StringBuffer buf
        24: .line 1630
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.ClassLoader systemClassLoader
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0             prefix  Ljava/lang/String;
            0   25     1        classLoader  Ljava/lang/ClassLoader;
            6    7     2  systemClassLoader  Ljava/lang/ClassLoader;
           10   25     2  systemClassLoader  Ljava/lang/ClassLoader;
            4    5     3  classLoaderString  Ljava/lang/String;
           12   24     3                buf  Ljava/lang/StringBuffer;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.SecurityException
          15    16      17  Class java.lang.SecurityException
    MethodParameters:
             Name  Flags
      prefix       
      classLoader  

  public static java.lang.String objectId(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 1645
            aload 0 /* o */
            ifnonnull 2
         1: .line 1646
            ldc "null"
            areturn
         2: .line 1648
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* o */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     
}
SourceFile: "LogFactory.java"
NestMembers:
  org.apache.commons.logging.LogFactory$1  org.apache.commons.logging.LogFactory$2  org.apache.commons.logging.LogFactory$3  org.apache.commons.logging.LogFactory$4  org.apache.commons.logging.LogFactory$5  org.apache.commons.logging.LogFactory$6
InnerClasses:
  org.apache.commons.logging.LogFactory$1
  org.apache.commons.logging.LogFactory$2
  org.apache.commons.logging.LogFactory$3
  org.apache.commons.logging.LogFactory$4
  org.apache.commons.logging.LogFactory$5
  org.apache.commons.logging.LogFactory$6