class com.google.common.base.FinalizableReferenceQueue$DecoupledLoader implements com.google.common.base.FinalizableReferenceQueue$FinalizerLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.common.base.FinalizableReferenceQueue$DecoupledLoader
  super_class: java.lang.Object
{
  private static final java.lang.String LOADING_ERROR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Guava to your system class path."

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
         0: .line 274
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;

  public java.lang.Class<?> loadFinalizer();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
         0: .line 293
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.common.base.FinalizableReferenceQueue$DecoupledLoader.getBaseUrl:()Ljava/net/URL;
            invokevirtual com.google.common.base.FinalizableReferenceQueue$DecoupledLoader.newLoader:(Ljava/net/URL;)Ljava/net/URLClassLoader;
            astore 1 /* finalizerLoader */
        start local 1 // java.lang.ClassLoader finalizerLoader
         1: .line 294
            aload 1 /* finalizerLoader */
            ldc "com.google.common.base.internal.Finalizer"
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
         2: areturn
        end local 1 // java.lang.ClassLoader finalizerLoader
         3: .line 295
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         4: .line 296
            getstatic com.google.common.base.FinalizableReferenceQueue.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            ldc "Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Guava to your system class path."
            aload 1 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
         5: .line 297
            aconst_null
            areturn
        end local 1 // java.lang.Exception e
        end local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
            1    3     1  finalizerLoader  Ljava/lang/ClassLoader;
            4    6     1                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
    Signature: ()Ljava/lang/Class<*>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()

  java.net.URL getBaseUrl();
    descriptor: ()Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
         0: .line 304
            new java.lang.StringBuilder
            dup
            ldc "com.google.common.base.internal.Finalizer"
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* finalizerPath */
        start local 1 // java.lang.String finalizerPath
         1: .line 305
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* finalizerPath */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* finalizerUrl */
        start local 2 // java.net.URL finalizerUrl
         2: .line 306
            aload 2 /* finalizerUrl */
            ifnonnull 4
         3: .line 307
            new java.io.FileNotFoundException
            dup
            aload 1 /* finalizerPath */
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 311
      StackMap locals: java.lang.String java.net.URL
      StackMap stack:
            aload 2 /* finalizerUrl */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 3 /* urlString */
        start local 3 // java.lang.String urlString
         5: .line 312
            aload 3 /* urlString */
            aload 1 /* finalizerPath */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 313
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported path style: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* urlString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 315
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* urlString */
            iconst_0
            aload 3 /* urlString */
            invokevirtual java.lang.String.length:()I
            aload 1 /* finalizerPath */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* urlString */
         8: .line 316
            new java.net.URL
            dup
            aload 2 /* finalizerUrl */
            aload 3 /* urlString */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            areturn
        end local 3 // java.lang.String urlString
        end local 2 // java.net.URL finalizerUrl
        end local 1 // java.lang.String finalizerPath
        end local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
            1    9     1  finalizerPath  Ljava/lang/String;
            2    9     2   finalizerUrl  Ljava/net/URL;
            5    9     3      urlString  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  java.net.URLClassLoader newLoader(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/net/URLClassLoader;
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
        start local 1 // java.net.URL base
         0: .line 324
            new java.net.URLClassLoader
            dup
            iconst_1
            anewarray java.net.URL
            dup
            iconst_0
            aload 1 /* base */
            aastore
            aconst_null
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
            areturn
        end local 1 // java.net.URL base
        end local 0 // com.google.common.base.FinalizableReferenceQueue$DecoupledLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
            0    1     1  base  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      base  
}
SourceFile: "FinalizableReferenceQueue.java"
NestHost: com.google.common.base.FinalizableReferenceQueue
InnerClasses:
  DecoupledLoader = com.google.common.base.FinalizableReferenceQueue$DecoupledLoader of com.google.common.base.FinalizableReferenceQueue
  abstract FinalizerLoader = com.google.common.base.FinalizableReferenceQueue$FinalizerLoader of com.google.common.base.FinalizableReferenceQueue