public class sun.misc.ClassLoaderUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.ClassLoaderUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.ClassLoaderUtil this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.ClassLoaderUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/ClassLoaderUtil;

  public static void releaseLoader(java.net.URLClassLoader);
    descriptor: (Ljava/net/URLClassLoader;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URLClassLoader classLoader
         0: .line 53
            aload 0 /* classLoader */
            aconst_null
            invokestatic sun.misc.ClassLoaderUtil.releaseLoader:(Ljava/net/URLClassLoader;Ljava/util/List;)Ljava/util/List;
            pop
         1: .line 54
            return
        end local 0 // java.net.URLClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  classLoader  Ljava/net/URLClassLoader;
    MethodParameters:
             Name  Flags
      classLoader  

  public static java.util.List<java.io.IOException> releaseLoader(java.net.URLClassLoader, java.util.List<java.lang.String>);
    descriptor: (Ljava/net/URLClassLoader;Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=16, args_size=2
        start local 0 // java.net.URLClassLoader classLoader
        start local 1 // java.util.List jarsClosed
         0: .line 71
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* ioExceptions */
        start local 2 // java.util.List ioExceptions
         1: .line 76
            aload 1 /* jarsClosed */
            ifnull 3
         2: .line 77
            aload 1 /* jarsClosed */
            invokeinterface java.util.List.clear:()V
         3: .line 80
      StackMap locals: java.util.List
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "classLoader = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* classLoader */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 81
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "SharedSecrets.getJavaNetAccess()="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 82
            invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
         6: .line 83
            aload 0 /* classLoader */
            invokeinterface sun.misc.JavaNetAccess.getURLClassPath:(Ljava/net/URLClassLoader;)Lsun/misc/URLClassPath;
         7: .line 82
            astore 3 /* ucp */
        start local 3 // sun.misc.URLClassPath ucp
         8: .line 84
            aload 3 /* ucp */
            getfield sun.misc.URLClassPath.loaders:Ljava/util/ArrayList;
            astore 4 /* loaders */
        start local 4 // java.util.ArrayList loaders
         9: .line 85
            aload 3 /* ucp */
            getfield sun.misc.URLClassPath.urls:Ljava/util/Stack;
            astore 5 /* urls */
        start local 5 // java.util.Stack urls
        10: .line 86
            aload 3 /* ucp */
            getfield sun.misc.URLClassPath.lmap:Ljava/util/HashMap;
            astore 6 /* lmap */
        start local 6 // java.util.HashMap lmap
        11: .line 96
            aload 5 /* urls */
            dup
            astore 7
            monitorenter
        12: .line 97
            aload 5 /* urls */
            invokevirtual java.util.Stack.clear:()V
        13: .line 96
            aload 7
            monitorexit
        14: goto 17
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap java.util.Stack
      StackMap stack: java.lang.Throwable
        15: aload 7
            monitorexit
        16: athrow
        17: .line 104
      StackMap locals:
      StackMap stack:
            aload 6 /* lmap */
            dup
            astore 7
            monitorenter
        18: .line 105
            aload 6 /* lmap */
            invokevirtual java.util.HashMap.clear:()V
        19: .line 104
            aload 7
            monitorexit
        20: goto 23
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap java.util.HashMap
      StackMap stack: java.lang.Throwable
        21: aload 7
            monitorexit
        22: athrow
        23: .line 131
      StackMap locals:
      StackMap stack:
            aload 3 /* ucp */
            dup
            astore 7
            monitorenter
        24: .line 132
            aload 4 /* loaders */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 43
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath top java.util.Iterator
      StackMap stack:
        25: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 8 /* o */
        start local 8 // java.lang.Object o
        26: .line 133
            aload 8 /* o */
            ifnull 43
        27: .line 139
            aload 8 /* o */
            instanceof sun.misc.URLClassPath$JarLoader
            ifeq 43
        28: .line 140
            aload 8 /* o */
            checkcast sun.misc.URLClassPath$JarLoader
            astore 10 /* jl */
        start local 10 // sun.misc.URLClassPath$JarLoader jl
        29: .line 141
            aload 10 /* jl */
            invokevirtual sun.misc.URLClassPath$JarLoader.getJarFile:()Ljava/util/jar/JarFile;
            astore 11 /* jarFile */
        start local 11 // java.util.jar.JarFile jarFile
        30: .line 143
            aload 11 /* jarFile */
            ifnull 43
        31: .line 144
            aload 11 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
        32: .line 145
            aload 1 /* jarsClosed */
            ifnull 43
        33: .line 146
            aload 1 /* jarsClosed */
            aload 11 /* jarFile */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        34: .line 149
            goto 43
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath java.lang.Object java.util.Iterator sun.misc.URLClassPath$JarLoader java.util.jar.JarFile
      StackMap stack: java.io.IOException
        35: astore 12 /* ioe */
        start local 12 // java.io.IOException ioe
        36: .line 155
            aload 11 /* jarFile */
            ifnonnull 37
            ldc "filename not available"
            goto 38
      StackMap locals: java.io.IOException
      StackMap stack:
        37: aload 11 /* jarFile */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        38: astore 13 /* jarFileName */
        start local 13 // java.lang.String jarFileName
        39: .line 156
            new java.lang.StringBuilder
            dup
            ldc "Error closing JAR file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* jarFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 14 /* msg */
        start local 14 // java.lang.String msg
        40: .line 157
            new java.io.IOException
            dup
            aload 14 /* msg */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 15 /* newIOE */
        start local 15 // java.io.IOException newIOE
        41: .line 158
            aload 15 /* newIOE */
            aload 12 /* ioe */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        42: .line 159
            aload 2 /* ioExceptions */
            aload 15 /* newIOE */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.io.IOException newIOE
        end local 14 // java.lang.String msg
        end local 13 // java.lang.String jarFileName
        end local 12 // java.io.IOException ioe
        end local 11 // java.util.jar.JarFile jarFile
        end local 10 // sun.misc.URLClassPath$JarLoader jl
        end local 8 // java.lang.Object o
        43: .line 132
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        44: .line 167
            aload 4 /* loaders */
            invokevirtual java.util.ArrayList.clear:()V
        45: .line 131
            aload 7
            monitorexit
        46: goto 51
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath
      StackMap stack: java.lang.Throwable
        47: aload 7
            monitorexit
        48: athrow
        end local 6 // java.util.HashMap lmap
        end local 5 // java.util.Stack urls
        end local 4 // java.util.ArrayList loaders
        end local 3 // sun.misc.URLClassPath ucp
        49: .line 169
      StackMap locals: java.net.URLClassLoader java.util.List java.util.List
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        50: .line 170
            new java.lang.RuntimeException
            dup
            aload 3 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable t
        51: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* ioExceptions */
            areturn
        end local 2 // java.util.List ioExceptions
        end local 1 // java.util.List jarsClosed
        end local 0 // java.net.URLClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   52     0   classLoader  Ljava/net/URLClassLoader;
            0   52     1    jarsClosed  Ljava/util/List<Ljava/lang/String;>;
            1   52     2  ioExceptions  Ljava/util/List<Ljava/io/IOException;>;
            8   49     3           ucp  Lsun/misc/URLClassPath;
            9   49     4       loaders  Ljava/util/ArrayList;
           10   49     5          urls  Ljava/util/Stack;
           11   49     6          lmap  Ljava/util/HashMap;
           26   43     8             o  Ljava/lang/Object;
           29   43    10            jl  Lsun/misc/URLClassPath$JarLoader;
           30   43    11       jarFile  Ljava/util/jar/JarFile;
           36   43    12           ioe  Ljava/io/IOException;
           39   43    13   jarFileName  Ljava/lang/String;
           40   43    14           msg  Ljava/lang/String;
           41   43    15        newIOE  Ljava/io/IOException;
           50   51     3             t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    14      15  any
          15    16      15  any
          18    20      21  any
          21    22      21  any
          30    34      35  Class java.io.IOException
          24    46      47  any
          47    48      47  any
           1    49      49  Class java.lang.Throwable
    Signature: (Ljava/net/URLClassLoader;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/io/IOException;>;
    MethodParameters:
             Name  Flags
      classLoader  
      jarsClosed   
}
SourceFile: "ClassLoaderUtil.java"
InnerClasses:
  JarLoader = sun.misc.URLClassPath$JarLoader of sun.misc.URLClassPath