final class javax.xml.stream.FactoryFinder
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: javax.xml.stream.FactoryFinder
  super_class: java.lang.Object
{
  private static boolean debug;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.Properties cacheProps;
    descriptor: Ljava/util/Properties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean firstTime;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int DEFAULT_LINE_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 80

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 45
            iconst_0
            putstatic javax.xml.stream.FactoryFinder.debug:Z
         1: .line 50
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putstatic javax.xml.stream.FactoryFinder.cacheProps:Ljava/util/Properties;
         2: .line 55
            iconst_1
            putstatic javax.xml.stream.FactoryFinder.firstTime:Z
         3: .line 67
            ldc "jaxp.debug"
            invokestatic javax.xml.stream.SecuritySupport.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* val */
        start local 0 // java.lang.String val
         4: .line 69
            aload 0 /* val */
            ifnull 5
            ldc "false"
            aload 0 /* val */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            iconst_1
            goto 6
      StackMap locals: java.lang.String
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: putstatic javax.xml.stream.FactoryFinder.debug:Z
        end local 0 // java.lang.String val
         7: .line 70
            goto 10
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         8: pop
         9: .line 71
            iconst_0
            putstatic javax.xml.stream.FactoryFinder.debug:Z
        10: .line 73
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    7     0   val  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     7       8  Class java.lang.SecurityException

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.stream.FactoryFinder this
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.xml.stream.FactoryFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/stream/FactoryFinder;

  private static void dPrint(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 78
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 2
         1: .line 79
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JAXP: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static java.lang.Object newInstance(java.lang.String, java.lang.ClassLoader, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.String className
        start local 1 // java.lang.ClassLoader cl
        start local 2 // boolean doFallback
         0: .line 104
            aload 1 /* cl */
            ifnonnull 3
         1: .line 108
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* providerClass */
        start local 3 // java.lang.Class providerClass
         2: .line 109
            goto 14
        end local 3 // java.lang.Class providerClass
         3: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            aload 0 /* className */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* providerClass */
        start local 3 // java.lang.Class providerClass
         4: .line 112
            goto 14
        end local 3 // java.lang.Class providerClass
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         5: astore 4 /* x */
        start local 4 // java.lang.ClassNotFoundException x
         6: .line 113
            iload 2 /* doFallback */
            ifeq 13
         7: .line 115
            ldc Ljavax/xml/stream/FactoryFinder;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* cl */
         8: .line 116
            aload 1 /* cl */
            ifnull 11
         9: .line 117
            aload 1 /* cl */
            aload 0 /* className */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* providerClass */
        start local 3 // java.lang.Class providerClass
        10: .line 118
            goto 14
        end local 3 // java.lang.Class providerClass
        11: .line 120
      StackMap locals: java.lang.String java.lang.ClassLoader int top java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* providerClass */
        start local 3 // java.lang.Class providerClass
        12: .line 122
            goto 14
        end local 3 // java.lang.Class providerClass
        13: .line 123
      StackMap locals:
      StackMap stack:
            aload 4 /* x */
            athrow
        end local 4 // java.lang.ClassNotFoundException x
        start local 3 // java.lang.Class providerClass
        14: .line 128
      StackMap locals: java.lang.String java.lang.ClassLoader int java.lang.Class
      StackMap stack:
            aload 3 /* providerClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 4 /* instance */
        start local 4 // java.lang.Object instance
        15: .line 129
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 18
            new java.lang.StringBuilder
            dup
            ldc "created new instance of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* providerClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        16: .line 130
            ldc " using ClassLoader: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 129
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
        18: .line 131
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* instance */
        19: areturn
        end local 4 // java.lang.Object instance
        end local 3 // java.lang.Class providerClass
        20: .line 132
      StackMap locals: java.lang.String java.lang.ClassLoader int
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* x */
        start local 3 // java.lang.ClassNotFoundException x
        21: .line 133
            new javax.xml.stream.FactoryFinder$ConfigurationError
            dup
        22: .line 134
            new java.lang.StringBuilder
            dup
            ldc "Provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* x */
        23: .line 133
            invokespecial javax.xml.stream.FactoryFinder$ConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.ClassNotFoundException x
        24: .line 135
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* x */
        start local 3 // java.lang.Exception x
        25: .line 136
            new javax.xml.stream.FactoryFinder$ConfigurationError
            dup
        26: .line 137
            new java.lang.StringBuilder
            dup
            ldc "Provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " could not be instantiated: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* x */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 138
            aload 3 /* x */
        28: .line 136
            invokespecial javax.xml.stream.FactoryFinder$ConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.Exception x
        end local 2 // boolean doFallback
        end local 1 // java.lang.ClassLoader cl
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0      className  Ljava/lang/String;
            0   29     1             cl  Ljava/lang/ClassLoader;
            0   29     2     doFallback  Z
            2    3     3  providerClass  Ljava/lang/Class;
            4    5     3  providerClass  Ljava/lang/Class;
           10   11     3  providerClass  Ljava/lang/Class;
           12   13     3  providerClass  Ljava/lang/Class;
           14   20     3  providerClass  Ljava/lang/Class;
            6   14     4              x  Ljava/lang/ClassNotFoundException;
           15   20     4       instance  Ljava/lang/Object;
           21   24     3              x  Ljava/lang/ClassNotFoundException;
           25   29     3              x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ClassNotFoundException
           0    19      20  Class java.lang.ClassNotFoundException
           0    19      24  Class java.lang.Exception
    Exceptions:
      throws javax.xml.stream.FactoryFinder$ConfigurationError
    MethodParameters:
            Name  Flags
      className   
      cl          
      doFallback  

  static java.lang.Object find(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String factoryId
        start local 1 // java.lang.String fallbackClassName
         0: .line 158
            invokestatic javax.xml.stream.SecuritySupport.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
        start local 2 // java.lang.ClassLoader classLoader
         1: .line 159
            aload 2 /* classLoader */
            ifnonnull 3
         2: .line 162
            ldc Ljavax/xml/stream/FactoryFinder;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
         3: .line 164
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* factoryId */
            aload 2 /* classLoader */
            aload 1 /* fallbackClassName */
            invokestatic javax.xml.stream.FactoryFinder.find:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String fallbackClassName
        end local 0 // java.lang.String factoryId
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0          factoryId  Ljava/lang/String;
            0    4     1  fallbackClassName  Ljava/lang/String;
            1    4     2        classLoader  Ljava/lang/ClassLoader;
    Exceptions:
      throws javax.xml.stream.FactoryFinder$ConfigurationError
    MethodParameters:
                   Name  Flags
      factoryId          
      fallbackClassName  

  static java.lang.Object find(java.lang.String, java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String factoryId
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.lang.String fallbackClassName
         0: .line 183
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 1
            new java.lang.StringBuilder
            dup
            ldc "find factoryId ="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* factoryId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
         1: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* factoryId */
            invokestatic javax.xml.stream.SecuritySupport.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* systemProp */
        start local 3 // java.lang.String systemProp
         2: .line 188
            aload 3 /* systemProp */
            ifnull 7
            aload 3 /* systemProp */
            invokevirtual java.lang.String.length:()I
            ifle 7
         3: .line 189
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 4
            new java.lang.StringBuilder
            dup
            ldc "found system property, value="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* systemProp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
         4: .line 190
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* systemProp */
            aload 1 /* classLoader */
            iconst_1
            invokestatic javax.xml.stream.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Object;
         5: areturn
        end local 3 // java.lang.String systemProp
         6: .line 192
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String
      StackMap stack: java.lang.SecurityException
            pop
         7: .line 199
      StackMap locals:
      StackMap stack:
            ldc "java.home"
            invokestatic javax.xml.stream.SecuritySupport.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* javah */
        start local 3 // java.lang.String javah
         8: .line 200
            new java.lang.StringBuilder
            dup
            aload 3 /* javah */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 201
            ldc "lib"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "stax.properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 200
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* configFile */
        start local 4 // java.lang.String configFile
        11: .line 202
            aconst_null
            astore 5 /* factoryClassName */
        start local 5 // java.lang.String factoryClassName
        12: .line 203
            getstatic javax.xml.stream.FactoryFinder.firstTime:Z
            ifeq 24
        13: .line 204
            getstatic javax.xml.stream.FactoryFinder.cacheProps:Ljava/util/Properties;
            dup
            astore 6
            monitorenter
        14: .line 205
            getstatic javax.xml.stream.FactoryFinder.firstTime:Z
            ifeq 20
        15: .line 206
            new java.io.File
            dup
            aload 4 /* configFile */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 7 /* f */
        start local 7 // java.io.File f
        16: .line 207
            iconst_0
            putstatic javax.xml.stream.FactoryFinder.firstTime:Z
        17: .line 208
            aload 7 /* f */
            invokestatic javax.xml.stream.SecuritySupport.doesFileExist:(Ljava/io/File;)Z
            ifeq 20
        18: .line 209
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 19
            new java.lang.StringBuilder
            dup
            ldc "Read properties file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
        19: .line 211
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.lang.String java.lang.String java.lang.String java.util.Properties java.io.File
      StackMap stack:
            getstatic javax.xml.stream.FactoryFinder.cacheProps:Ljava/util/Properties;
            aload 7 /* f */
            invokestatic javax.xml.stream.SecuritySupport.getFileInputStream:(Ljava/io/File;)Ljava/io/FileInputStream;
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        end local 7 // java.io.File f
        20: .line 204
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        21: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: aload 6
            monitorexit
        23: athrow
        24: .line 216
      StackMap locals:
      StackMap stack:
            getstatic javax.xml.stream.FactoryFinder.cacheProps:Ljava/util/Properties;
            aload 0 /* factoryId */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* factoryClassName */
        25: .line 218
            aload 5 /* factoryClassName */
            ifnull 31
        26: .line 219
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 27
            new java.lang.StringBuilder
            dup
            ldc "found in $java.home/stax.properties, value="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* factoryClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
        27: .line 220
      StackMap locals:
      StackMap stack:
            aload 5 /* factoryClassName */
            aload 1 /* classLoader */
            iconst_1
            invokestatic javax.xml.stream.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Object;
        28: areturn
        end local 5 // java.lang.String factoryClassName
        end local 4 // java.lang.String configFile
        end local 3 // java.lang.String javah
        29: .line 222
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
        30: .line 223
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 31
            aload 3 /* ex */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception ex
        31: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* factoryId */
            invokestatic javax.xml.stream.FactoryFinder.findJarServiceProvider:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* provider */
        start local 3 // java.lang.Object provider
        32: .line 228
            aload 3 /* provider */
            ifnull 34
        33: .line 229
            aload 3 /* provider */
            areturn
        34: .line 231
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* fallbackClassName */
            ifnonnull 38
        35: .line 232
            new javax.xml.stream.FactoryFinder$ConfigurationError
            dup
        36: .line 233
            new java.lang.StringBuilder
            dup
            ldc "Provider for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* factoryId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
        37: .line 232
            invokespecial javax.xml.stream.FactoryFinder$ConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        38: .line 236
      StackMap locals:
      StackMap stack:
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 39
            new java.lang.StringBuilder
            dup
            ldc "loaded from fallback value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* fallbackClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
        39: .line 237
      StackMap locals:
      StackMap stack:
            aload 2 /* fallbackClassName */
            aload 1 /* classLoader */
            iconst_1
            invokestatic javax.xml.stream.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object provider
        end local 2 // java.lang.String fallbackClassName
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String factoryId
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   40     0          factoryId  Ljava/lang/String;
            0   40     1        classLoader  Ljava/lang/ClassLoader;
            0   40     2  fallbackClassName  Ljava/lang/String;
            2    6     3         systemProp  Ljava/lang/String;
            8   29     3              javah  Ljava/lang/String;
           11   29     4         configFile  Ljava/lang/String;
           12   29     5   factoryClassName  Ljava/lang/String;
           16   20     7                  f  Ljava/io/File;
           30   31     3                 ex  Ljava/lang/Exception;
           32   40     3           provider  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.SecurityException
          14    21      22  any
          22    23      22  any
           7    28      29  Class java.lang.Exception
    Exceptions:
      throws javax.xml.stream.FactoryFinder$ConfigurationError
    MethodParameters:
                   Name  Flags
      factoryId          
      classLoader        
      fallbackClassName  

  private static java.lang.Object findJarServiceProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.lang.String factoryId
         0: .line 249
            new java.lang.StringBuilder
            dup
            ldc "META-INF/services/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* factoryId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* serviceId */
        start local 1 // java.lang.String serviceId
         1: .line 250
            aconst_null
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         2: .line 253
            invokestatic javax.xml.stream.SecuritySupport.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        start local 3 // java.lang.ClassLoader cl
         3: .line 254
            aload 3 /* cl */
            ifnull 9
         4: .line 255
            aload 3 /* cl */
            aload 1 /* serviceId */
            invokestatic javax.xml.stream.SecuritySupport.getResourceAsStream:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* is */
         5: .line 258
            aload 2 /* is */
            ifnonnull 11
         6: .line 259
            ldc Ljavax/xml/stream/FactoryFinder;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
         7: .line 260
            aload 3 /* cl */
            aload 1 /* serviceId */
            invokestatic javax.xml.stream.SecuritySupport.getResourceAsStream:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* is */
         8: .line 262
            goto 11
         9: .line 265
      StackMap locals: java.lang.String java.io.InputStream java.lang.ClassLoader
      StackMap stack:
            ldc Ljavax/xml/stream/FactoryFinder;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        10: .line 266
            aload 3 /* cl */
            aload 1 /* serviceId */
            invokestatic javax.xml.stream.SecuritySupport.getResourceAsStream:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* is */
        11: .line 269
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            ifnonnull 13
        12: .line 271
            aconst_null
            areturn
        13: .line 274
      StackMap locals:
      StackMap stack:
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 16
            new java.lang.StringBuilder
            dup
            ldc "found jar resource="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* serviceId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 275
            ldc " using ClassLoader: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 274
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
        16: .line 295
      StackMap locals:
      StackMap stack:
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 2 /* is */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            bipush 80
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;I)V
            astore 4 /* rd */
        start local 4 // java.io.BufferedReader rd
        17: .line 296
            goto 20
        end local 4 // java.io.BufferedReader rd
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        18: pop
        19: .line 297
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 2 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            bipush 80
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;I)V
            astore 4 /* rd */
        start local 4 // java.io.BufferedReader rd
        20: .line 300
      StackMap locals: java.io.BufferedReader
      StackMap stack:
            aconst_null
            astore 5 /* factoryClassName */
        start local 5 // java.lang.String factoryClassName
        21: .line 304
            aload 4 /* rd */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 5 /* factoryClassName */
        22: .line 305
            goto 33
        23: .line 306
      StackMap locals: java.lang.String java.lang.String java.io.InputStream java.lang.ClassLoader java.io.BufferedReader java.lang.String
      StackMap stack: java.io.IOException
            pop
        24: .line 313
            aload 4 /* rd */
            invokevirtual java.io.BufferedReader.close:()V
        25: .line 314
            goto 27
        26: .line 316
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        27: .line 308
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        28: .line 310
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        29: .line 313
            aload 4 /* rd */
            invokevirtual java.io.BufferedReader.close:()V
        30: .line 314
            goto 32
        31: .line 316
      StackMap locals: java.lang.String java.lang.String java.io.InputStream java.lang.ClassLoader java.io.BufferedReader java.lang.String java.lang.Throwable
      StackMap stack: java.io.IOException
            pop
        32: .line 317
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        33: .line 313
      StackMap locals:
      StackMap stack:
            aload 4 /* rd */
            invokevirtual java.io.BufferedReader.close:()V
        34: .line 314
            goto 36
        35: .line 316
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        36: .line 319
      StackMap locals:
      StackMap stack:
            aload 5 /* factoryClassName */
            ifnull 42
        37: .line 320
            ldc ""
            aload 5 /* factoryClassName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 42
        38: .line 321
            getstatic javax.xml.stream.FactoryFinder.debug:Z
            ifeq 41
            new java.lang.StringBuilder
            dup
            ldc "found in resource, value="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 322
            aload 5 /* factoryClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 321
            invokestatic javax.xml.stream.FactoryFinder.dPrint:(Ljava/lang/String;)V
        41: .line 328
      StackMap locals:
      StackMap stack:
            aload 5 /* factoryClassName */
            aload 3 /* cl */
            iconst_0
            invokestatic javax.xml.stream.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Object;
            areturn
        42: .line 332
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.lang.String factoryClassName
        end local 4 // java.io.BufferedReader rd
        end local 3 // java.lang.ClassLoader cl
        end local 2 // java.io.InputStream is
        end local 1 // java.lang.String serviceId
        end local 0 // java.lang.String factoryId
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   43     0         factoryId  Ljava/lang/String;
            1   43     1         serviceId  Ljava/lang/String;
            2   43     2                is  Ljava/io/InputStream;
            3   43     3                cl  Ljava/lang/ClassLoader;
           17   18     4                rd  Ljava/io/BufferedReader;
           20   43     4                rd  Ljava/io/BufferedReader;
           21   43     5  factoryClassName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          16    17      18  Class java.io.UnsupportedEncodingException
          21    22      23  Class java.io.IOException
          24    25      26  Class java.io.IOException
          21    24      28  any
          29    30      31  Class java.io.IOException
          33    34      35  Class java.io.IOException
    Exceptions:
      throws javax.xml.stream.FactoryFinder$ConfigurationError
    MethodParameters:
           Name  Flags
      factoryId  
}
SourceFile: "FactoryFinder.java"
NestMembers:
  javax.xml.stream.FactoryFinder$ConfigurationError
InnerClasses:
  ConfigurationError = javax.xml.stream.FactoryFinder$ConfigurationError of javax.xml.stream.FactoryFinder