public class javax.xml.transform.stream.StreamSource implements javax.xml.transform.Source
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.xml.transform.stream.StreamSource
  super_class: java.lang.Object
{
  public static final java.lang.String FEATURE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://javax.xml.transform.stream.StreamSource/feature"

  private java.lang.String publicId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String systemId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream inputStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.Reader reader;
    descriptor: Ljava/io/Reader;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/transform/stream/StreamSource;

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.InputStream inputStream
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            aload 1 /* inputStream */
            invokevirtual javax.xml.transform.stream.StreamSource.setInputStream:(Ljava/io/InputStream;)V
         2: .line 82
            return
        end local 1 // java.io.InputStream inputStream
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljavax/xml/transform/stream/StreamSource;
            0    3     1  inputStream  Ljava/io/InputStream;
    MethodParameters:
             Name  Flags
      inputStream  

  public void <init>(java.io.InputStream, java.lang.String);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.InputStream inputStream
        start local 2 // java.lang.String systemId
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            aload 1 /* inputStream */
            invokevirtual javax.xml.transform.stream.StreamSource.setInputStream:(Ljava/io/InputStream;)V
         2: .line 99
            aload 0 /* this */
            aload 2 /* systemId */
            invokevirtual javax.xml.transform.stream.StreamSource.setSystemId:(Ljava/lang/String;)V
         3: .line 100
            return
        end local 2 // java.lang.String systemId
        end local 1 // java.io.InputStream inputStream
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljavax/xml/transform/stream/StreamSource;
            0    4     1  inputStream  Ljava/io/InputStream;
            0    4     2     systemId  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      inputStream  
      systemId     

  public void <init>(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.Reader reader
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 113
            aload 0 /* this */
            aload 1 /* reader */
            invokevirtual javax.xml.transform.stream.StreamSource.setReader:(Ljava/io/Reader;)V
         2: .line 114
            return
        end local 1 // java.io.Reader reader
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/xml/transform/stream/StreamSource;
            0    3     1  reader  Ljava/io/Reader;
    MethodParameters:
        Name  Flags
      reader  

  public void <init>(java.io.Reader, java.lang.String);
    descriptor: (Ljava/io/Reader;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.Reader reader
        start local 2 // java.lang.String systemId
         0: .line 127
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 128
            aload 0 /* this */
            aload 1 /* reader */
            invokevirtual javax.xml.transform.stream.StreamSource.setReader:(Ljava/io/Reader;)V
         2: .line 129
            aload 0 /* this */
            aload 2 /* systemId */
            invokevirtual javax.xml.transform.stream.StreamSource.setSystemId:(Ljava/lang/String;)V
         3: .line 130
            return
        end local 2 // java.lang.String systemId
        end local 1 // java.io.Reader reader
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavax/xml/transform/stream/StreamSource;
            0    4     1    reader  Ljava/io/Reader;
            0    4     2  systemId  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      reader    
      systemId  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.lang.String systemId
         0: .line 137
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 138
            aload 0 /* this */
            aload 1 /* systemId */
            putfield javax.xml.transform.stream.StreamSource.systemId:Ljava/lang/String;
         2: .line 139
            return
        end local 1 // java.lang.String systemId
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljavax/xml/transform/stream/StreamSource;
            0    3     1  systemId  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      systemId  

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.File f
         0: .line 146
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            aload 1 /* f */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toASCIIString:()Ljava/lang/String;
            invokevirtual javax.xml.transform.stream.StreamSource.setSystemId:(Ljava/lang/String;)V
         2: .line 151
            return
        end local 1 // java.io.File f
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/xml/transform/stream/StreamSource;
            0    3     1     f  Ljava/io/File;
    MethodParameters:
      Name  Flags
      f     

  public void setInputStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.InputStream inputStream
         0: .line 166
            aload 0 /* this */
            aload 1 /* inputStream */
            putfield javax.xml.transform.stream.StreamSource.inputStream:Ljava/io/InputStream;
         1: .line 167
            return
        end local 1 // java.io.InputStream inputStream
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/xml/transform/stream/StreamSource;
            0    2     1  inputStream  Ljava/io/InputStream;
    MethodParameters:
             Name  Flags
      inputStream  

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 176
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.inputStream:Ljava/io/InputStream;
            areturn
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/transform/stream/StreamSource;

  public void setReader(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.Reader reader
         0: .line 190
            aload 0 /* this */
            aload 1 /* reader */
            putfield javax.xml.transform.stream.StreamSource.reader:Ljava/io/Reader;
         1: .line 191
            return
        end local 1 // java.io.Reader reader
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/xml/transform/stream/StreamSource;
            0    2     1  reader  Ljava/io/Reader;
    MethodParameters:
        Name  Flags
      reader  

  public java.io.Reader getReader();
    descriptor: ()Ljava/io/Reader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 200
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.reader:Ljava/io/Reader;
            areturn
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/transform/stream/StreamSource;

  public void setPublicId(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.lang.String publicId
         0: .line 213
            aload 0 /* this */
            aload 1 /* publicId */
            putfield javax.xml.transform.stream.StreamSource.publicId:Ljava/lang/String;
         1: .line 214
            return
        end local 1 // java.lang.String publicId
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljavax/xml/transform/stream/StreamSource;
            0    2     1  publicId  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      publicId  

  public java.lang.String getPublicId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 223
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.publicId:Ljava/lang/String;
            areturn
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/transform/stream/StreamSource;

  public void setSystemId(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.lang.String systemId
         0: .line 240
            aload 0 /* this */
            aload 1 /* systemId */
            putfield javax.xml.transform.stream.StreamSource.systemId:Ljava/lang/String;
         1: .line 241
            return
        end local 1 // java.lang.String systemId
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljavax/xml/transform/stream/StreamSource;
            0    2     1  systemId  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      systemId  

  public java.lang.String getSystemId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 251
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.systemId:Ljava/lang/String;
            areturn
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/transform/stream/StreamSource;

  public void setSystemId(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.xml.transform.stream.StreamSource this
        start local 1 // java.io.File f
         0: .line 263
            aload 0 /* this */
            aload 1 /* f */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toASCIIString:()Ljava/lang/String;
            putfield javax.xml.transform.stream.StreamSource.systemId:Ljava/lang/String;
         1: .line 264
            return
        end local 1 // java.io.File f
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/xml/transform/stream/StreamSource;
            0    2     1     f  Ljava/io/File;
    MethodParameters:
      Name  Flags
      f     

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 289
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.publicId:Ljava/lang/String;
            ifnonnull 1
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.systemId:Ljava/lang/String;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual javax.xml.transform.stream.StreamSource.isStreamEmpty:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/xml/transform/stream/StreamSource;

  private boolean isStreamEmpty();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javax.xml.transform.stream.StreamSource this
         0: .line 293
            iconst_1
            istore 1 /* empty */
        start local 1 // boolean empty
         1: .line 295
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.inputStream:Ljava/io/InputStream;
            ifnull 6
         2: .line 296
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.inputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.reset:()V
         3: .line 297
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.inputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.available:()I
            istore 2 /* bytesRead */
        start local 2 // int bytesRead
         4: .line 298
            iload 2 /* bytesRead */
            ifle 6
         5: .line 299
            iconst_0
            ireturn
        end local 2 // int bytesRead
         6: .line 303
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.reader:Ljava/io/Reader;
            ifnull 14
         7: .line 304
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.reader:Ljava/io/Reader;
            invokevirtual java.io.Reader.reset:()V
         8: .line 305
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.reader:Ljava/io/Reader;
            invokevirtual java.io.Reader.read:()I
            istore 2 /* c */
        start local 2 // int c
         9: .line 306
            aload 0 /* this */
            getfield javax.xml.transform.stream.StreamSource.reader:Ljava/io/Reader;
            invokevirtual java.io.Reader.reset:()V
        10: .line 307
            iload 2 /* c */
            iconst_m1
            if_icmpeq 14
        11: .line 308
            iconst_0
            ireturn
        end local 2 // int c
        12: .line 311
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        13: .line 313
            iconst_0
            ireturn
        14: .line 316
      StackMap locals:
      StackMap stack:
            iload 1 /* empty */
            ireturn
        end local 1 // boolean empty
        end local 0 // javax.xml.transform.stream.StreamSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljavax/xml/transform/stream/StreamSource;
            1   15     1      empty  Z
            4    6     2  bytesRead  I
            9   12     2          c  I
      Exception table:
        from    to  target  type
           1     5      12  Class java.io.IOException
           6    11      12  Class java.io.IOException
}
SourceFile: "StreamSource.java"