public class sun.misc.ExtensionDependency
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.ExtensionDependency
  super_class: java.lang.Object
{
  private static java.util.Vector<sun.misc.ExtensionInstallationProvider> providers;
    descriptor: Ljava/util/Vector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Vector<Lsun/misc/ExtensionInstallationProvider;>;

  static final boolean DEBUG;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.ExtensionDependency this
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/ExtensionDependency;

  public static synchronized void addExtensionInstallationProvider(sun.misc.ExtensionInstallationProvider);
    descriptor: (Lsun/misc/ExtensionInstallationProvider;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.misc.ExtensionInstallationProvider eip
         0: .line 85
            getstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
            ifnonnull 2
         1: .line 86
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
         2: .line 88
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
            aload 0 /* eip */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         3: .line 89
            return
        end local 0 // sun.misc.ExtensionInstallationProvider eip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   eip  Lsun/misc/ExtensionInstallationProvider;
    MethodParameters:
      Name  Flags
      eip   

  public static synchronized void removeExtensionInstallationProvider(sun.misc.ExtensionInstallationProvider);
    descriptor: (Lsun/misc/ExtensionInstallationProvider;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.misc.ExtensionInstallationProvider eip
         0: .line 99
            getstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
            aload 0 /* eip */
            invokevirtual java.util.Vector.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 100
            return
        end local 0 // sun.misc.ExtensionInstallationProvider eip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   eip  Lsun/misc/ExtensionInstallationProvider;
    MethodParameters:
      Name  Flags
      eip   

  public static boolean checkExtensionsDependencies(java.util.jar.JarFile);
    descriptor: (Ljava/util/jar/JarFile;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.jar.JarFile jar
         0: .line 110
            getstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
            ifnonnull 2
         1: .line 113
            iconst_1
            ireturn
         2: .line 117
      StackMap locals:
      StackMap stack:
            new sun.misc.ExtensionDependency
            dup
            invokespecial sun.misc.ExtensionDependency.<init>:()V
            astore 1 /* extDep */
        start local 1 // sun.misc.ExtensionDependency extDep
         3: .line 118
            aload 1 /* extDep */
            aload 0 /* jar */
            invokevirtual sun.misc.ExtensionDependency.checkExtensions:(Ljava/util/jar/JarFile;)Z
         4: ireturn
        end local 1 // sun.misc.ExtensionDependency extDep
         5: .line 119
      StackMap locals:
      StackMap stack: sun.misc.ExtensionInstallationException
            astore 1 /* e */
        start local 1 // sun.misc.ExtensionInstallationException e
         6: .line 120
            aload 1 /* e */
            invokevirtual sun.misc.ExtensionInstallationException.getMessage:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        end local 1 // sun.misc.ExtensionInstallationException e
         7: .line 122
            iconst_0
            ireturn
        end local 0 // java.util.jar.JarFile jar
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     jar  Ljava/util/jar/JarFile;
            3    5     1  extDep  Lsun/misc/ExtensionDependency;
            6    7     1       e  Lsun/misc/ExtensionInstallationException;
      Exception table:
        from    to  target  type
           2     4       5  Class sun.misc.ExtensionInstallationException
    MethodParameters:
      Name  Flags
      jar   

  protected boolean checkExtensions(java.util.jar.JarFile);
    descriptor: (Ljava/util/jar/JarFile;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // java.util.jar.JarFile jar
         0: .line 134
            aload 1 /* jar */
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 2 /* man */
        start local 2 // java.util.jar.Manifest man
         1: .line 135
            goto 4
        end local 2 // java.util.jar.Manifest man
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 136
            iconst_0
            ireturn
        start local 2 // java.util.jar.Manifest man
         4: .line 139
      StackMap locals: java.util.jar.Manifest
      StackMap stack:
            aload 2 /* man */
            ifnonnull 6
         5: .line 142
            iconst_1
            ireturn
         6: .line 145
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* result */
        start local 3 // boolean result
         7: .line 146
            aload 2 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 4 /* attr */
        start local 4 // java.util.jar.Attributes attr
         8: .line 147
            aload 4 /* attr */
            ifnull 33
         9: .line 149
            aload 4 /* attr */
            getstatic java.util.jar.Attributes$Name.EXTENSION_LIST:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        10: .line 150
            aload 5 /* value */
            ifnull 32
        11: .line 151
            new java.util.StringTokenizer
            dup
            aload 5 /* value */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 6 /* st */
        start local 6 // java.util.StringTokenizer st
        12: .line 153
            goto 30
        13: .line 154
      StackMap locals: sun.misc.ExtensionDependency java.util.jar.JarFile java.util.jar.Manifest int java.util.jar.Attributes java.lang.String java.util.StringTokenizer
      StackMap stack:
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 7 /* extensionName */
        start local 7 // java.lang.String extensionName
        14: .line 155
            new java.lang.StringBuilder
            dup
            ldc "The file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jar */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 156
            ldc " appears to depend on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* extensionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 155
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        17: .line 158
            new java.lang.StringBuilder
            dup
            aload 7 /* extensionName */
            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;
        18: .line 159
            getstatic java.util.jar.Attributes$Name.EXTENSION_NAME:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes$Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 158
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* extName */
        start local 8 // java.lang.String extName
        20: .line 160
            aload 4 /* attr */
            aload 8 /* extName */
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 27
        21: .line 161
            new java.lang.StringBuilder
            dup
            ldc "The jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jar */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 162
            ldc " appers to depend on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 163
            aload 7 /* extensionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " but does not define the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 164
            aload 8 /* extName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " attribute in its manifest "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 161
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        26: .line 166
            goto 30
        27: .line 167
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 7 /* extensionName */
            aload 4 /* attr */
            invokevirtual sun.misc.ExtensionDependency.checkExtension:(Ljava/lang/String;Ljava/util/jar/Attributes;)Z
            ifne 30
        28: .line 168
            new java.lang.StringBuilder
            dup
            ldc "Failed installing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* extensionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        29: .line 169
            iconst_0
            istore 3 /* result */
        end local 8 // java.lang.String extName
        end local 7 // java.lang.String extensionName
        30: .line 153
      StackMap locals:
      StackMap stack:
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 13
        end local 6 // java.util.StringTokenizer st
        31: .line 173
            goto 33
        32: .line 174
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "No dependencies for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jar */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        end local 5 // java.lang.String value
        33: .line 177
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 4 // java.util.jar.Attributes attr
        end local 3 // boolean result
        end local 2 // java.util.jar.Manifest man
        end local 1 // java.util.jar.JarFile jar
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Lsun/misc/ExtensionDependency;
            0   34     1            jar  Ljava/util/jar/JarFile;
            1    2     2            man  Ljava/util/jar/Manifest;
            4   34     2            man  Ljava/util/jar/Manifest;
            7   34     3         result  Z
            8   34     4           attr  Ljava/util/jar/Attributes;
           10   33     5          value  Ljava/lang/String;
           12   31     6             st  Ljava/util/StringTokenizer;
           14   30     7  extensionName  Ljava/lang/String;
           20   30     8        extName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Exceptions:
      throws sun.misc.ExtensionInstallationException
    MethodParameters:
      Name  Flags
      jar   

  protected synchronized boolean checkExtension(java.lang.String, java.util.jar.Attributes);
    descriptor: (Ljava/lang/String;Ljava/util/jar/Attributes;)Z
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // java.lang.String extensionName
        start local 2 // java.util.jar.Attributes attr
         0: .line 194
            new java.lang.StringBuilder
            dup
            ldc "Checking extension "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* extensionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
         1: .line 195
            aload 0 /* this */
            aload 1 /* extensionName */
            aload 2 /* attr */
            invokevirtual sun.misc.ExtensionDependency.checkExtensionAgainstInstalled:(Ljava/lang/String;Ljava/util/jar/Attributes;)Z
            ifeq 3
         2: .line 196
            iconst_1
            ireturn
         3: .line 198
      StackMap locals:
      StackMap stack:
            ldc "Extension not currently installed "
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
         4: .line 199
            new sun.misc.ExtensionInfo
            dup
            aload 1 /* extensionName */
            aload 2 /* attr */
            invokespecial sun.misc.ExtensionInfo.<init>:(Ljava/lang/String;Ljava/util/jar/Attributes;)V
            astore 3 /* reqInfo */
        start local 3 // sun.misc.ExtensionInfo reqInfo
         5: .line 200
            aload 0 /* this */
            aload 3 /* reqInfo */
            aconst_null
            invokevirtual sun.misc.ExtensionDependency.installExtension:(Lsun/misc/ExtensionInfo;Lsun/misc/ExtensionInfo;)Z
            ireturn
        end local 3 // sun.misc.ExtensionInfo reqInfo
        end local 2 // java.util.jar.Attributes attr
        end local 1 // java.lang.String extensionName
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lsun/misc/ExtensionDependency;
            0    6     1  extensionName  Ljava/lang/String;
            0    6     2           attr  Ljava/util/jar/Attributes;
            5    6     3        reqInfo  Lsun/misc/ExtensionInfo;
    Exceptions:
      throws sun.misc.ExtensionInstallationException
    MethodParameters:
               Name  Flags
      extensionName  final
      attr           final

  boolean checkExtensionAgainstInstalled(java.lang.String, java.util.jar.Attributes);
    descriptor: (Ljava/lang/String;Ljava/util/jar/Attributes;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // java.lang.String extensionName
        start local 2 // java.util.jar.Attributes attr
         0: .line 217
            aload 0 /* this */
            aload 1 /* extensionName */
            invokevirtual sun.misc.ExtensionDependency.checkExtensionExists:(Ljava/lang/String;)Ljava/io/File;
            astore 3 /* fExtension */
        start local 3 // java.io.File fExtension
         1: .line 219
            aload 3 /* fExtension */
            ifnull 10
         2: .line 222
            aload 0 /* this */
            aload 1 /* extensionName */
            aload 2 /* attr */
            aload 3 /* fExtension */
            invokevirtual sun.misc.ExtensionDependency.checkExtensionAgainst:(Ljava/lang/String;Ljava/util/jar/Attributes;Ljava/io/File;)Z
            ifeq 9
         3: .line 223
            iconst_1
            ireturn
         4: .line 224
      StackMap locals: sun.misc.ExtensionDependency java.lang.String java.util.jar.Attributes java.io.File
      StackMap stack: java.io.FileNotFoundException
            astore 4 /* e */
        start local 4 // java.io.FileNotFoundException e
         5: .line 225
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual sun.misc.ExtensionDependency.debugException:(Ljava/lang/Throwable;)V
        end local 4 // java.io.FileNotFoundException e
         6: goto 9
         7: .line 226
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
         8: .line 227
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual sun.misc.ExtensionDependency.debugException:(Ljava/lang/Throwable;)V
        end local 4 // java.io.IOException e
         9: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        10: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.ExtensionDependency.getInstalledExtensions:()[Ljava/io/File;
            astore 4 /* installedExts */
        start local 4 // java.io.File[] installedExts
        11: .line 241
            goto 15
        end local 4 // java.io.File[] installedExts
      StackMap locals:
      StackMap stack: java.io.IOException
        12: astore 5 /* e */
        start local 5 // java.io.IOException e
        13: .line 242
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual sun.misc.ExtensionDependency.debugException:(Ljava/lang/Throwable;)V
        14: .line 243
            iconst_0
            ireturn
        end local 5 // java.io.IOException e
        start local 4 // java.io.File[] installedExts
        15: .line 246
      StackMap locals: java.io.File[]
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 25
        17: .line 248
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* extensionName */
            aload 2 /* attr */
            aload 4 /* installedExts */
            iload 5 /* i */
            aaload
            invokevirtual sun.misc.ExtensionDependency.checkExtensionAgainst:(Ljava/lang/String;Ljava/util/jar/Attributes;Ljava/io/File;)Z
            ifeq 24
        18: .line 249
            iconst_1
            ireturn
        19: .line 250
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 6 /* e */
        start local 6 // java.io.FileNotFoundException e
        20: .line 251
            aload 0 /* this */
            aload 6 /* e */
            invokevirtual sun.misc.ExtensionDependency.debugException:(Ljava/lang/Throwable;)V
        end local 6 // java.io.FileNotFoundException e
        21: goto 24
        22: .line 252
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
        23: .line 253
            aload 0 /* this */
            aload 6 /* e */
            invokevirtual sun.misc.ExtensionDependency.debugException:(Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        24: .line 246
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 5 /* i */
            aload 4 /* installedExts */
            arraylength
            if_icmplt 17
        end local 5 // int i
        end local 4 // java.io.File[] installedExts
        26: .line 258
            iconst_0
            ireturn
        end local 3 // java.io.File fExtension
        end local 2 // java.util.jar.Attributes attr
        end local 1 // java.lang.String extensionName
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lsun/misc/ExtensionDependency;
            0   27     1  extensionName  Ljava/lang/String;
            0   27     2           attr  Ljava/util/jar/Attributes;
            1   27     3     fExtension  Ljava/io/File;
            5    6     4              e  Ljava/io/FileNotFoundException;
            8    9     4              e  Ljava/io/IOException;
           11   12     4  installedExts  [Ljava/io/File;
           15   26     4  installedExts  [Ljava/io/File;
           13   15     5              e  Ljava/io/IOException;
           16   26     5              i  I
           20   21     6              e  Ljava/io/FileNotFoundException;
           23   24     6              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.FileNotFoundException
           2     3       7  Class java.io.IOException
          10    11      12  Class java.io.IOException
          17    18      19  Class java.io.FileNotFoundException
          17    18      22  Class java.io.IOException
    Exceptions:
      throws sun.misc.ExtensionInstallationException
    MethodParameters:
               Name  Flags
      extensionName  
      attr           

  protected boolean checkExtensionAgainst(java.lang.String, java.util.jar.Attributes, java.io.File);
    descriptor: (Ljava/lang/String;Ljava/util/jar/Attributes;Ljava/io/File;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // java.lang.String extensionName
        start local 2 // java.util.jar.Attributes attr
        start local 3 // java.io.File file
         0: .line 281
            new java.lang.StringBuilder
            dup
            ldc "Checking extension "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* extensionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 282
            ldc " against "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 281
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
         3: .line 288
            new sun.misc.ExtensionDependency$1
            dup
            aload 0 /* this */
            aload 3 /* file */
            invokespecial sun.misc.ExtensionDependency$1.<init>:(Lsun/misc/ExtensionDependency;Ljava/io/File;)V
         4: .line 287
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.util.jar.Manifest
            astore 4 /* man */
        start local 4 // java.util.jar.Manifest man
         5: .line 297
            goto 10
        end local 4 // java.util.jar.Manifest man
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         6: astore 5 /* e */
        start local 5 // java.security.PrivilegedActionException e
         7: .line 298
            aload 5 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            instanceof java.io.FileNotFoundException
            ifeq 9
         8: .line 299
            aload 5 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.FileNotFoundException
            athrow
         9: .line 300
      StackMap locals: sun.misc.ExtensionDependency java.lang.String java.util.jar.Attributes java.io.File top java.security.PrivilegedActionException
      StackMap stack:
            aload 5 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 5 // java.security.PrivilegedActionException e
        start local 4 // java.util.jar.Manifest man
        10: .line 304
      StackMap locals: sun.misc.ExtensionDependency java.lang.String java.util.jar.Attributes java.io.File java.util.jar.Manifest
      StackMap stack:
            new sun.misc.ExtensionInfo
            dup
            aload 1 /* extensionName */
            aload 2 /* attr */
            invokespecial sun.misc.ExtensionInfo.<init>:(Ljava/lang/String;Ljava/util/jar/Attributes;)V
            astore 5 /* reqInfo */
        start local 5 // sun.misc.ExtensionInfo reqInfo
        11: .line 305
            new java.lang.StringBuilder
            dup
            ldc "Requested Extension : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* reqInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        12: .line 307
            iconst_4
            istore 6 /* isCompatible */
        start local 6 // int isCompatible
        13: .line 308
            aconst_null
            astore 7 /* instInfo */
        start local 7 // sun.misc.ExtensionInfo instInfo
        14: .line 310
            aload 4 /* man */
            ifnull 27
        15: .line 311
            aload 4 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 8 /* instAttr */
        start local 8 // java.util.jar.Attributes instAttr
        16: .line 312
            aload 8 /* instAttr */
            ifnull 27
        17: .line 313
            new sun.misc.ExtensionInfo
            dup
            aconst_null
            aload 8 /* instAttr */
            invokespecial sun.misc.ExtensionInfo.<init>:(Ljava/lang/String;Ljava/util/jar/Attributes;)V
            astore 7 /* instInfo */
        18: .line 314
            new java.lang.StringBuilder
            dup
            ldc "Extension Installed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* instInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        19: .line 315
            aload 7 /* instInfo */
            aload 5 /* reqInfo */
            invokevirtual sun.misc.ExtensionInfo.isCompatibleWith:(Lsun/misc/ExtensionInfo;)I
            istore 6 /* isCompatible */
        20: .line 316
            iload 6 /* isCompatible */
            tableswitch { // 0 - 4
                    0: 21
                    1: 25
                    2: 25
                    3: 25
                    4: 23
              default: 25
          }
        21: .line 318
      StackMap locals: sun.misc.ExtensionDependency java.lang.String java.util.jar.Attributes java.io.File java.util.jar.Manifest sun.misc.ExtensionInfo int sun.misc.ExtensionInfo java.util.jar.Attributes
      StackMap stack:
            ldc "Extensions are compatible"
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        22: .line 319
            iconst_1
            ireturn
        23: .line 322
      StackMap locals:
      StackMap stack:
            ldc "Extensions are incompatible"
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        24: .line 323
            iconst_0
            ireturn
        25: .line 327
      StackMap locals:
      StackMap stack:
            ldc "Extensions require an upgrade or vendor switch"
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        26: .line 328
            aload 0 /* this */
            aload 5 /* reqInfo */
            aload 7 /* instInfo */
            invokevirtual sun.misc.ExtensionDependency.installExtension:(Lsun/misc/ExtensionInfo;Lsun/misc/ExtensionInfo;)Z
            ireturn
        end local 8 // java.util.jar.Attributes instAttr
        27: .line 333
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // sun.misc.ExtensionInfo instInfo
        end local 6 // int isCompatible
        end local 5 // sun.misc.ExtensionInfo reqInfo
        end local 4 // java.util.jar.Manifest man
        end local 3 // java.io.File file
        end local 2 // java.util.jar.Attributes attr
        end local 1 // java.lang.String extensionName
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lsun/misc/ExtensionDependency;
            0   28     1  extensionName  Ljava/lang/String;
            0   28     2           attr  Ljava/util/jar/Attributes;
            0   28     3           file  Ljava/io/File;
            5    6     4            man  Ljava/util/jar/Manifest;
           10   28     4            man  Ljava/util/jar/Manifest;
            7   10     5              e  Ljava/security/PrivilegedActionException;
           11   28     5        reqInfo  Lsun/misc/ExtensionInfo;
           13   28     6   isCompatible  I
           14   28     7       instInfo  Lsun/misc/ExtensionInfo;
           16   27     8       instAttr  Ljava/util/jar/Attributes;
      Exception table:
        from    to  target  type
           3     5       6  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException, java.io.FileNotFoundException, sun.misc.ExtensionInstallationException
    MethodParameters:
               Name  Flags
      extensionName  
      attr           
      file           final

  protected boolean installExtension(sun.misc.ExtensionInfo, sun.misc.ExtensionInfo);
    descriptor: (Lsun/misc/ExtensionInfo;Lsun/misc/ExtensionInfo;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // sun.misc.ExtensionInfo reqInfo
        start local 2 // sun.misc.ExtensionInfo instInfo
         0: .line 352
            getstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
            dup
            astore 4
            monitorenter
         1: .line 355
            getstatic sun.misc.ExtensionDependency.providers:Ljava/util/Vector;
            invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
            checkcast java.util.Vector
         2: .line 354
            astore 5 /* tmp */
        start local 5 // java.util.Vector tmp
         3: .line 356
            aload 5 /* tmp */
            astore 3 /* currentProviders */
        end local 5 // java.util.Vector tmp
        start local 3 // java.util.Vector currentProviders
         4: .line 352
            aload 4
            monitorexit
         5: goto 8
        end local 3 // java.util.Vector currentProviders
      StackMap locals: sun.misc.ExtensionDependency sun.misc.ExtensionInfo sun.misc.ExtensionInfo top java.util.Vector
      StackMap stack: java.lang.Throwable
         6: aload 4
            monitorexit
         7: athrow
        start local 3 // java.util.Vector currentProviders
         8: .line 358
      StackMap locals: sun.misc.ExtensionDependency sun.misc.ExtensionInfo sun.misc.ExtensionInfo java.util.Vector
      StackMap stack:
            aload 3 /* currentProviders */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         9: .line 359
            goto 18
        10: .line 360
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.misc.ExtensionInstallationProvider
            astore 5 /* eip */
        start local 5 // sun.misc.ExtensionInstallationProvider eip
        11: .line 362
            aload 5 /* eip */
            ifnull 18
        12: .line 364
            aload 5 /* eip */
            aload 1 /* reqInfo */
            aload 2 /* instInfo */
            invokeinterface sun.misc.ExtensionInstallationProvider.installExtension:(Lsun/misc/ExtensionInfo;Lsun/misc/ExtensionInfo;)Z
            ifeq 18
        13: .line 365
            new java.lang.StringBuilder
            dup
            aload 1 /* reqInfo */
            getfield sun.misc.ExtensionInfo.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " installation successful"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        14: .line 367
            invokestatic sun.misc.Launcher.getLauncher:()Lsun/misc/Launcher;
            invokevirtual sun.misc.Launcher.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
        15: .line 366
            checkcast sun.misc.Launcher$ExtClassLoader
            astore 6 /* cl */
        start local 6 // sun.misc.Launcher$ExtClassLoader cl
        16: .line 368
            aload 0 /* this */
            aload 6 /* cl */
            invokevirtual sun.misc.ExtensionDependency.addNewExtensionsToClassLoader:(Lsun/misc/Launcher$ExtClassLoader;)Ljava/lang/Boolean;
            pop
        17: .line 369
            iconst_1
            ireturn
        end local 6 // sun.misc.Launcher$ExtClassLoader cl
        end local 5 // sun.misc.ExtensionInstallationProvider eip
        18: .line 359
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 10
        end local 4 // java.util.Enumeration e
        19: .line 375
            new java.lang.StringBuilder
            dup
            aload 1 /* reqInfo */
            getfield sun.misc.ExtensionInfo.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " installation failed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        20: .line 376
            iconst_0
            ireturn
        end local 3 // java.util.Vector currentProviders
        end local 2 // sun.misc.ExtensionInfo instInfo
        end local 1 // sun.misc.ExtensionInfo reqInfo
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Lsun/misc/ExtensionDependency;
            0   21     1           reqInfo  Lsun/misc/ExtensionInfo;
            0   21     2          instInfo  Lsun/misc/ExtensionInfo;
            4    6     3  currentProviders  Ljava/util/Vector<Lsun/misc/ExtensionInstallationProvider;>;
            8   21     3  currentProviders  Ljava/util/Vector<Lsun/misc/ExtensionInstallationProvider;>;
            3    4     5               tmp  Ljava/util/Vector<Lsun/misc/ExtensionInstallationProvider;>;
            9   19     4                 e  Ljava/util/Enumeration<Lsun/misc/ExtensionInstallationProvider;>;
           11   18     5               eip  Lsun/misc/ExtensionInstallationProvider;
           16   18     6                cl  Lsun/misc/Launcher$ExtClassLoader;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Exceptions:
      throws sun.misc.ExtensionInstallationException
    MethodParameters:
          Name  Flags
      reqInfo   
      instInfo  

  private java.io.File checkExtensionExists(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // java.lang.String extensionName
         0: .line 392
            aload 1 /* extensionName */
            astore 2 /* extName */
        start local 2 // java.lang.String extName
         1: .line 393
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc ".jar"
            aastore
            dup
            iconst_1
            ldc ".zip"
            aastore
            astore 3 /* fileExt */
        start local 3 // java.lang.String[] fileExt
         2: .line 396
            new sun.misc.ExtensionDependency$2
            dup
            aload 0 /* this */
            aload 3 /* fileExt */
            aload 2 /* extName */
            invokespecial sun.misc.ExtensionDependency$2.<init>:(Lsun/misc/ExtensionDependency;[Ljava/lang/String;Ljava/lang/String;)V
         3: .line 395
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.File
            areturn
        end local 3 // java.lang.String[] fileExt
        end local 2 // java.lang.String extName
        end local 1 // java.lang.String extensionName
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lsun/misc/ExtensionDependency;
            0    4     1  extensionName  Ljava/lang/String;
            1    4     2        extName  Ljava/lang/String;
            2    4     3        fileExt  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      extensionName  

  private static java.io.File[] getExtDirs();
    descriptor: ()[Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 434
            new sun.security.action.GetPropertyAction
            dup
            ldc "java.ext.dirs"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 433
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* s */
        start local 0 // java.lang.String s
         2: .line 437
            aload 0 /* s */
            ifnull 15
         3: .line 439
            new java.util.StringTokenizer
            dup
            aload 0 /* s */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 438
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         5: .line 440
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 3 /* count */
        start local 3 // int count
         6: .line 441
            new java.lang.StringBuilder
            dup
            ldc "getExtDirs count "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
         7: .line 442
            iload 3 /* count */
            anewarray java.io.File
            astore 1 /* dirs */
        start local 1 // java.io.File[] dirs
         8: .line 443
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 13
        10: .line 444
      StackMap locals: java.lang.String java.io.File[] java.util.StringTokenizer int int
      StackMap stack:
            aload 1 /* dirs */
            iload 4 /* i */
            new java.io.File
            dup
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            aastore
        11: .line 445
            new java.lang.StringBuilder
            dup
            ldc "getExtDirs dirs["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dirs */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        12: .line 443
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 10
        end local 4 // int i
        end local 3 // int count
        end local 2 // java.util.StringTokenizer st
        14: .line 447
            goto 17
        end local 1 // java.io.File[] dirs
        15: .line 448
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            anewarray java.io.File
            astore 1 /* dirs */
        start local 1 // java.io.File[] dirs
        16: .line 449
            new java.lang.StringBuilder
            dup
            ldc "getExtDirs dirs "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* dirs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        17: .line 451
      StackMap locals: java.io.File[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "getExtDirs dirs.length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* dirs */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        18: .line 452
            aload 1 /* dirs */
            areturn
        end local 1 // java.io.File[] dirs
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2   19     0      s  Ljava/lang/String;
            8   15     1   dirs  [Ljava/io/File;
           16   19     1   dirs  [Ljava/io/File;
            5   14     2     st  Ljava/util/StringTokenizer;
            6   14     3  count  I
            9   14     4      i  I

  private static java.io.File[] getExtFiles(java.io.File[]);
    descriptor: ([Ljava/io/File;)[Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.io.File[] dirs
         0: .line 464
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 1 /* urls */
        start local 1 // java.util.Vector urls
         1: .line 465
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 14
         3: .line 466
      StackMap locals: java.util.Vector int
      StackMap stack:
            aload 0 /* dirs */
            iload 2 /* i */
            aaload
            new sun.misc.JarFilter
            dup
            invokespecial sun.misc.JarFilter.<init>:()V
            invokevirtual java.io.File.list:(Ljava/io/FilenameFilter;)[Ljava/lang/String;
            astore 3 /* files */
        start local 3 // java.lang.String[] files
         4: .line 467
            aload 3 /* files */
            ifnull 13
         5: .line 468
            new java.lang.StringBuilder
            dup
            ldc "getExtFiles files.length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* files */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
         6: .line 469
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         7: goto 12
         8: .line 470
      StackMap locals: java.lang.String[] int
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* dirs */
            iload 2 /* i */
            aaload
            aload 3 /* files */
            iload 4 /* j */
            aaload
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 5 /* f */
        start local 5 // java.io.File f
         9: .line 471
            aload 1 /* urls */
            aload 5 /* f */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        10: .line 472
            new java.lang.StringBuilder
            dup
            ldc "getExtFiles f["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        end local 5 // java.io.File f
        11: .line 469
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* j */
            aload 3 /* files */
            arraylength
            if_icmplt 8
        end local 4 // int j
        end local 3 // java.lang.String[] files
        13: .line 465
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 0 /* dirs */
            arraylength
            if_icmplt 3
        end local 2 // int i
        15: .line 476
            aload 1 /* urls */
            invokevirtual java.util.Vector.size:()I
            anewarray java.io.File
            astore 2 /* ua */
        start local 2 // java.io.File[] ua
        16: .line 477
            aload 1 /* urls */
            aload 2 /* ua */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
        17: .line 478
            new java.lang.StringBuilder
            dup
            ldc "getExtFiles ua.length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ua */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        18: .line 479
            aload 2 /* ua */
            areturn
        end local 2 // java.io.File[] ua
        end local 1 // java.util.Vector urls
        end local 0 // java.io.File[] dirs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   dirs  [Ljava/io/File;
            1   19     1   urls  Ljava/util/Vector<Ljava/io/File;>;
            2   15     2      i  I
            4   13     3  files  [Ljava/lang/String;
            7   13     4      j  I
            9   11     5      f  Ljava/io/File;
           16   19     2     ua  [Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dirs  

  private java.io.File[] getInstalledExtensions();
    descriptor: ()[Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.misc.ExtensionDependency this
         0: .line 489
            new sun.misc.ExtensionDependency$3
            dup
            aload 0 /* this */
            invokespecial sun.misc.ExtensionDependency$3.<init>:(Lsun/misc/ExtensionDependency;)V
         1: .line 488
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.File[]
            areturn
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/misc/ExtensionDependency;
    Exceptions:
      throws java.io.IOException

  private java.lang.Boolean addNewExtensionsToClassLoader(sun.misc.Launcher$ExtClassLoader);
    descriptor: (Lsun/misc/Launcher$ExtClassLoader;)Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // sun.misc.Launcher$ExtClassLoader cl
         0: .line 513
            aload 0 /* this */
            invokevirtual sun.misc.ExtensionDependency.getInstalledExtensions:()[Ljava/io/File;
            astore 2 /* installedExts */
        start local 2 // java.io.File[] installedExts
         1: .line 514
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 27
         3: .line 515
      StackMap locals: java.io.File[] int
      StackMap stack:
            aload 2 /* installedExts */
            iload 3 /* i */
            aaload
            astore 4 /* instFile */
        start local 4 // java.io.File instFile
         4: .line 517
            new sun.misc.ExtensionDependency$4
            dup
            aload 0 /* this */
            aload 4 /* instFile */
            invokespecial sun.misc.ExtensionDependency$4.<init>:(Lsun/misc/ExtensionDependency;Ljava/io/File;)V
         5: .line 516
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 5 /* instURL */
        start local 5 // java.net.URL instURL
         6: .line 527
            aload 5 /* instURL */
            ifnull 26
         7: .line 528
            aload 1 /* cl */
            invokevirtual sun.misc.Launcher$ExtClassLoader.getURLs:()[Ljava/net/URL;
            astore 6 /* urls */
        start local 6 // java.net.URL[] urls
         8: .line 529
            iconst_0
            istore 7 /* found */
        start local 7 // boolean found
         9: .line 530
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        10: goto 20
        11: .line 531
      StackMap locals: sun.misc.ExtensionDependency sun.misc.Launcher$ExtClassLoader java.io.File[] int java.io.File java.net.URL java.net.URL[] int int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "URL["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* urls */
            iload 8 /* j */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " looking for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 532
            aload 5 /* instURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        13: .line 531
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        14: .line 533
            aload 6 /* urls */
            iload 8 /* j */
            aaload
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
        15: .line 534
            aload 5 /* instURL */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
        16: .line 533
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            ifne 19
        17: .line 535
            iconst_1
            istore 7 /* found */
        18: .line 536
            ldc "Found !"
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        19: .line 530
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* j */
            aload 6 /* urls */
            arraylength
            if_icmplt 11
        end local 8 // int j
        21: .line 539
            iload 7 /* found */
            ifne 26
        22: .line 540
            new java.lang.StringBuilder
            dup
            ldc "Not Found ! adding to the classloader "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 541
            aload 5 /* instURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        24: .line 540
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.misc.ExtensionDependency.debug:(Ljava/lang/String;)V
        25: .line 542
            aload 1 /* cl */
            aload 5 /* instURL */
            invokevirtual sun.misc.Launcher$ExtClassLoader.addExtURL:(Ljava/net/URL;)V
        end local 7 // boolean found
        end local 6 // java.net.URL[] urls
        end local 5 // java.net.URL instURL
        end local 4 // java.io.File instFile
        26: .line 514
      StackMap locals: sun.misc.ExtensionDependency sun.misc.Launcher$ExtClassLoader java.io.File[] int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* i */
            aload 2 /* installedExts */
            arraylength
            if_icmplt 3
        end local 3 // int i
        end local 2 // java.io.File[] installedExts
        28: .line 546
            goto 34
      StackMap locals: sun.misc.ExtensionDependency sun.misc.Launcher$ExtClassLoader
      StackMap stack: java.net.MalformedURLException
        29: astore 2 /* e */
        start local 2 // java.net.MalformedURLException e
        30: .line 547
            aload 2 /* e */
            invokevirtual java.net.MalformedURLException.printStackTrace:()V
        end local 2 // java.net.MalformedURLException e
        31: goto 34
        32: .line 548
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        33: .line 549
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        34: .line 552
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
        end local 1 // sun.misc.Launcher$ExtClassLoader cl
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Lsun/misc/ExtensionDependency;
            0   35     1             cl  Lsun/misc/Launcher$ExtClassLoader;
            1   28     2  installedExts  [Ljava/io/File;
            2   28     3              i  I
            4   26     4       instFile  Ljava/io/File;
            6   26     5        instURL  Ljava/net/URL;
            8   26     6           urls  [Ljava/net/URL;
            9   26     7          found  Z
           10   21     8              j  I
           30   31     2              e  Ljava/net/MalformedURLException;
           33   34     2              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    28      29  Class java.net.MalformedURLException
           0    28      32  Class java.io.IOException
    MethodParameters:
      Name  Flags
      cl    

  private static void debug(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 562
            return
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private void debugException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.misc.ExtensionDependency this
        start local 1 // java.lang.Throwable e
         0: .line 568
            return
        end local 1 // java.lang.Throwable e
        end local 0 // sun.misc.ExtensionDependency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/ExtensionDependency;
            0    1     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     
}
SourceFile: "ExtensionDependency.java"
NestMembers:
  sun.misc.ExtensionDependency$1  sun.misc.ExtensionDependency$2  sun.misc.ExtensionDependency$3  sun.misc.ExtensionDependency$4
InnerClasses:
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  sun.misc.ExtensionDependency$1
  sun.misc.ExtensionDependency$2
  sun.misc.ExtensionDependency$3
  sun.misc.ExtensionDependency$4
  ExtClassLoader = sun.misc.Launcher$ExtClassLoader of sun.misc.Launcher