public class com.sun.xml.internal.ws.streaming.SourceReaderFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.xml.internal.ws.streaming.SourceReaderFactory
  super_class: java.lang.Object
{
  static java.lang.Class fastInfosetSourceClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0008) ACC_STATIC

  static java.lang.reflect.Method fastInfosetSource_getInputStream;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 64
            ldc "com.sun.xml.internal.org.jvnet.fastinfoset.FastInfosetSource"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
         1: .line 63
            putstatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.fastInfosetSourceClass:Ljava/lang/Class;
         2: .line 66
            getstatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.fastInfosetSourceClass:Ljava/lang/Class;
            ldc "getInputStream"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         3: .line 65
            putstatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.fastInfosetSource_getInputStream:Ljava/lang/reflect/Method;
         4: .line 67
            goto 7
         5: .line 68
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 69
            aconst_null
            putstatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.fastInfosetSourceClass:Ljava/lang/Class;
         7: .line 71
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.ws.streaming.SourceReaderFactory this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.xml.internal.ws.streaming.SourceReaderFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/xml/internal/ws/streaming/SourceReaderFactory;

  public static javax.xml.stream.XMLStreamReader createSourceReader(javax.xml.transform.Source, boolean);
    descriptor: (Ljavax/xml/transform/Source;Z)Ljavax/xml/stream/XMLStreamReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.xml.transform.Source source
        start local 1 // boolean rejectDTDs
         0: .line 74
            aload 0 /* source */
            iload 1 /* rejectDTDs */
            aconst_null
            invokestatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.createSourceReader:(Ljavax/xml/transform/Source;ZLjava/lang/String;)Ljavax/xml/stream/XMLStreamReader;
            areturn
        end local 1 // boolean rejectDTDs
        end local 0 // javax.xml.transform.Source source
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0      source  Ljavax/xml/transform/Source;
            0    1     1  rejectDTDs  Z
    MethodParameters:
            Name  Flags
      source      
      rejectDTDs  

  public static javax.xml.stream.XMLStreamReader createSourceReader(javax.xml.transform.Source, boolean, java.lang.String);
    descriptor: (Ljavax/xml/transform/Source;ZLjava/lang/String;)Ljavax/xml/stream/XMLStreamReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // javax.xml.transform.Source source
        start local 1 // boolean rejectDTDs
        start local 2 // java.lang.String charsetName
         0: .line 79
            aload 0 /* source */
            instanceof javax.xml.transform.stream.StreamSource
            ifeq 19
         1: .line 80
            aload 0 /* source */
            checkcast javax.xml.transform.stream.StreamSource
            astore 3 /* streamSource */
        start local 3 // javax.xml.transform.stream.StreamSource streamSource
         2: .line 81
            aload 3 /* streamSource */
            invokevirtual javax.xml.transform.stream.StreamSource.getInputStream:()Ljava/io/InputStream;
            astore 4 /* is */
        start local 4 // java.io.InputStream is
         3: .line 83
            aload 4 /* is */
            ifnull 11
         4: .line 85
            aload 2 /* charsetName */
            ifnull 8
         5: .line 87
            aload 0 /* source */
            invokeinterface javax.xml.transform.Source.getSystemId:()Ljava/lang/String;
            new java.io.InputStreamReader
            dup
            aload 4 /* is */
            aload 2 /* charsetName */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            iload 1 /* rejectDTDs */
         6: .line 86
            invokestatic com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.create:(Ljava/lang/String;Ljava/io/Reader;Z)Ljavax/xml/stream/XMLStreamReader;
         7: areturn
         8: .line 91
      StackMap locals: javax.xml.transform.stream.StreamSource java.io.InputStream
      StackMap stack:
            aload 0 /* source */
            invokeinterface javax.xml.transform.Source.getSystemId:()Ljava/lang/String;
            aload 4 /* is */
            iload 1 /* rejectDTDs */
         9: .line 90
            invokestatic com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.create:(Ljava/lang/String;Ljava/io/InputStream;Z)Ljavax/xml/stream/XMLStreamReader;
        10: areturn
        11: .line 95
      StackMap locals:
      StackMap stack:
            aload 3 /* streamSource */
            invokevirtual javax.xml.transform.stream.StreamSource.getReader:()Ljava/io/Reader;
            astore 5 /* reader */
        start local 5 // java.io.Reader reader
        12: .line 96
            aload 5 /* reader */
            ifnull 16
        13: .line 98
            aload 0 /* source */
            invokeinterface javax.xml.transform.Source.getSystemId:()Ljava/lang/String;
            aload 5 /* reader */
            iload 1 /* rejectDTDs */
        14: .line 97
            invokestatic com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.create:(Ljava/lang/String;Ljava/io/Reader;Z)Ljavax/xml/stream/XMLStreamReader;
        15: areturn
        16: .line 102
      StackMap locals: java.io.Reader
      StackMap stack:
            aload 0 /* source */
            invokeinterface javax.xml.transform.Source.getSystemId:()Ljava/lang/String;
            new java.net.URL
            dup
            aload 0 /* source */
            invokeinterface javax.xml.transform.Source.getSystemId:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            iload 1 /* rejectDTDs */
        17: .line 101
            invokestatic com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.create:(Ljava/lang/String;Ljava/io/InputStream;Z)Ljavax/xml/stream/XMLStreamReader;
        18: areturn
        end local 5 // java.io.Reader reader
        end local 4 // java.io.InputStream is
        end local 3 // javax.xml.transform.stream.StreamSource streamSource
        19: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.fastInfosetSourceClass:Ljava/lang/Class;
            if_acmpne 23
        20: .line 108
            getstatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.fastInfosetSource_getInputStream:Ljava/lang/reflect/Method;
            aload 0 /* source */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
        21: .line 107
            checkcast java.io.InputStream
            invokestatic com.sun.xml.internal.ws.util.FastInfosetUtil.createFIStreamReader:(Ljava/io/InputStream;)Ljavax/xml/stream/XMLStreamReader;
        22: areturn
        23: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            instanceof javax.xml.transform.dom.DOMSource
            ifeq 28
        24: .line 111
            new com.sun.xml.internal.ws.streaming.DOMStreamReader
            dup
            invokespecial com.sun.xml.internal.ws.streaming.DOMStreamReader.<init>:()V
            astore 3 /* dsr */
        start local 3 // com.sun.xml.internal.ws.streaming.DOMStreamReader dsr
        25: .line 112
            aload 3 /* dsr */
            aload 0 /* source */
            checkcast javax.xml.transform.dom.DOMSource
            invokevirtual javax.xml.transform.dom.DOMSource.getNode:()Lorg/w3c/dom/Node;
            invokevirtual com.sun.xml.internal.ws.streaming.DOMStreamReader.setCurrentNode:(Lorg/w3c/dom/Node;)V
        26: .line 113
            aload 3 /* dsr */
        27: areturn
        end local 3 // com.sun.xml.internal.ws.streaming.DOMStreamReader dsr
        28: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            instanceof javax.xml.transform.sax.SAXSource
            ifeq 36
        29: .line 117
            invokestatic com.sun.xml.internal.ws.util.xml.XmlUtil.newTransformer:()Ljavax/xml/transform/Transformer;
            astore 3 /* tx */
        start local 3 // javax.xml.transform.Transformer tx
        30: .line 118
            new javax.xml.transform.dom.DOMResult
            dup
            invokespecial javax.xml.transform.dom.DOMResult.<init>:()V
            astore 4 /* domResult */
        start local 4 // javax.xml.transform.dom.DOMResult domResult
        31: .line 119
            aload 3 /* tx */
            aload 0 /* source */
            aload 4 /* domResult */
            invokevirtual javax.xml.transform.Transformer.transform:(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V
        32: .line 121
            new javax.xml.transform.dom.DOMSource
            dup
            aload 4 /* domResult */
            invokevirtual javax.xml.transform.dom.DOMResult.getNode:()Lorg/w3c/dom/Node;
            invokespecial javax.xml.transform.dom.DOMSource.<init>:(Lorg/w3c/dom/Node;)V
        33: .line 122
            iload 1 /* rejectDTDs */
        34: .line 120
            invokestatic com.sun.xml.internal.ws.streaming.SourceReaderFactory.createSourceReader:(Ljavax/xml/transform/Source;Z)Ljavax/xml/stream/XMLStreamReader;
        35: areturn
        end local 4 // javax.xml.transform.dom.DOMResult domResult
        end local 3 // javax.xml.transform.Transformer tx
        36: .line 125
      StackMap locals:
      StackMap stack:
            new com.sun.xml.internal.ws.streaming.XMLReaderException
            dup
            ldc "sourceReader.invalidSource"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        37: .line 126
            aload 0 /* source */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        38: .line 125
            aastore
            invokespecial com.sun.xml.internal.ws.streaming.XMLReaderException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        39: .line 129
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        40: .line 130
            new com.sun.xml.internal.ws.streaming.XMLReaderException
            dup
            aload 3 /* e */
            invokespecial com.sun.xml.internal.ws.streaming.XMLReaderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.String charsetName
        end local 1 // boolean rejectDTDs
        end local 0 // javax.xml.transform.Source source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   41     0        source  Ljavax/xml/transform/Source;
            0   41     1    rejectDTDs  Z
            0   41     2   charsetName  Ljava/lang/String;
            2   19     3  streamSource  Ljavax/xml/transform/stream/StreamSource;
            3   19     4            is  Ljava/io/InputStream;
           12   19     5        reader  Ljava/io/Reader;
           25   28     3           dsr  Lcom/sun/xml/internal/ws/streaming/DOMStreamReader;
           30   36     3            tx  Ljavax/xml/transform/Transformer;
           31   36     4     domResult  Ljavax/xml/transform/dom/DOMResult;
           40   41     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     7      39  Class java.lang.Exception
           8    10      39  Class java.lang.Exception
          11    15      39  Class java.lang.Exception
          16    18      39  Class java.lang.Exception
          19    22      39  Class java.lang.Exception
          23    27      39  Class java.lang.Exception
          28    35      39  Class java.lang.Exception
          36    39      39  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      source       
      rejectDTDs   
      charsetName  
}
SourceFile: "SourceReaderFactory.java"