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=3, 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:
            invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
         4: .line 81
            aload 0 /* classLoader */
            invokeinterface sun.misc.JavaNetAccess.getURLClassPath:(Ljava/net/URLClassLoader;)Lsun/misc/URLClassPath;
         5: .line 80
            astore 3 /* ucp */
        start local 3 // sun.misc.URLClassPath ucp
         6: .line 82
            aload 3 /* ucp */
            getfield sun.misc.URLClassPath.loaders:Ljava/util/ArrayList;
            astore 4 /* loaders */
        start local 4 // java.util.ArrayList loaders
         7: .line 83
            aload 3 /* ucp */
            getfield sun.misc.URLClassPath.urls:Ljava/util/Stack;
            astore 5 /* urls */
        start local 5 // java.util.Stack urls
         8: .line 84
            aload 3 /* ucp */
            getfield sun.misc.URLClassPath.lmap:Ljava/util/HashMap;
            astore 6 /* lmap */
        start local 6 // java.util.HashMap lmap
         9: .line 94
            aload 5 /* urls */
            dup
            astore 7
            monitorenter
        10: .line 95
            aload 5 /* urls */
            invokevirtual java.util.Stack.clear:()V
        11: .line 94
            aload 7
            monitorexit
        12: goto 15
      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
        13: aload 7
            monitorexit
        14: athrow
        15: .line 102
      StackMap locals:
      StackMap stack:
            aload 6 /* lmap */
            dup
            astore 7
            monitorenter
        16: .line 103
            aload 6 /* lmap */
            invokevirtual java.util.HashMap.clear:()V
        17: .line 102
            aload 7
            monitorexit
        18: goto 21
      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
        19: aload 7
            monitorexit
        20: athrow
        21: .line 129
      StackMap locals:
      StackMap stack:
            aload 3 /* ucp */
            dup
            astore 7
            monitorenter
        22: .line 130
            aload 4 /* loaders */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 41
      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:
        23: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 8 /* o */
        start local 8 // java.lang.Object o
        24: .line 131
            aload 8 /* o */
            ifnull 41
        25: .line 137
            aload 8 /* o */
            instanceof sun.misc.URLClassPath$JarLoader
            ifeq 41
        26: .line 138
            aload 8 /* o */
            checkcast sun.misc.URLClassPath$JarLoader
            astore 10 /* jl */
        start local 10 // sun.misc.URLClassPath$JarLoader jl
        27: .line 139
            aload 10 /* jl */
            invokevirtual sun.misc.URLClassPath$JarLoader.getJarFile:()Ljava/util/jar/JarFile;
            astore 11 /* jarFile */
        start local 11 // java.util.jar.JarFile jarFile
        28: .line 141
            aload 11 /* jarFile */
            ifnull 41
        29: .line 142
            aload 11 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
        30: .line 143
            aload 1 /* jarsClosed */
            ifnull 41
        31: .line 144
            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
        32: .line 147
            goto 41
      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
        33: astore 12 /* ioe */
        start local 12 // java.io.IOException ioe
        34: .line 153
            aload 11 /* jarFile */
            ifnonnull 35
            ldc "filename not available"
            goto 36
      StackMap locals: java.io.IOException
      StackMap stack:
        35: aload 11 /* jarFile */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        36: astore 13 /* jarFileName */
        start local 13 // java.lang.String jarFileName
        37: .line 154
            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
        38: .line 155
            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
        39: .line 156
            aload 15 /* newIOE */
            aload 12 /* ioe */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        40: .line 157
            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
        41: .line 130
      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 23
        42: .line 165
            aload 4 /* loaders */
            invokevirtual java.util.ArrayList.clear:()V
        43: .line 129
            aload 7
            monitorexit
        44: goto 49
      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
        45: aload 7
            monitorexit
        46: 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
        47: .line 167
      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
        48: .line 168
            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
        49: .line 170
      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   50     0   classLoader  Ljava/net/URLClassLoader;
            0   50     1    jarsClosed  Ljava/util/List<Ljava/lang/String;>;
            1   50     2  ioExceptions  Ljava/util/List<Ljava/io/IOException;>;
            6   47     3           ucp  Lsun/misc/URLClassPath;
            7   47     4       loaders  Ljava/util/ArrayList<*>;
            8   47     5          urls  Ljava/util/Stack<*>;
            9   47     6          lmap  Ljava/util/HashMap<**>;
           24   41     8             o  Ljava/lang/Object;
           27   41    10            jl  Lsun/misc/URLClassPath$JarLoader;
           28   41    11       jarFile  Ljava/util/jar/JarFile;
           34   41    12           ioe  Ljava/io/IOException;
           37   41    13   jarFileName  Ljava/lang/String;
           38   41    14           msg  Ljava/lang/String;
           39   41    15        newIOE  Ljava/io/IOException;
           48   49     3             t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    12      13  any
          13    14      13  any
          16    18      19  any
          19    20      19  any
          28    32      33  Class java.io.IOException
          22    44      45  any
          45    46      45  any
           1    47      47  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