public final class com.sun.media.sound.StandardMidiFileReader extends javax.sound.midi.spi.MidiFileReader
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.StandardMidiFileReader
  super_class: javax.sound.midi.spi.MidiFileReader
{
  private static final int MThd_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1297377380

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
         0: .line 57
            aload 0 /* this */
            invokespecial javax.sound.midi.spi.MidiFileReader.<init>:()V
            return
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/StandardMidiFileReader;

  public javax.sound.midi.MidiFileFormat getMidiFileFormat(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljavax/sound/midi/MidiFileFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.io.InputStream stream
         0: .line 64
            aload 0 /* this */
            aload 1 /* stream */
            iconst_m1
            aconst_null
            invokevirtual com.sun.media.sound.StandardMidiFileReader.getMidiFileFormatFromStream:(Ljava/io/InputStream;ILcom/sun/media/sound/SMFParser;)Ljavax/sound/midi/MidiFileFormat;
            areturn
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/media/sound/StandardMidiFileReader;
            0    1     1  stream  Ljava/io/InputStream;
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private javax.sound.midi.MidiFileFormat getMidiFileFormatFromStream(java.io.InputStream, int, com.sun.media.sound.SMFParser);
    descriptor: (Ljava/io/InputStream;ILcom/sun/media/sound/SMFParser;)Ljavax/sound/midi/MidiFileFormat;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=4
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.io.InputStream stream
        start local 2 // int fileLength
        start local 3 // com.sun.media.sound.SMFParser smfParser
         0: .line 69
            bipush 16
            istore 4 /* maxReadLength */
        start local 4 // int maxReadLength
         1: .line 70
            iconst_m1
            istore 5 /* duration */
        start local 5 // int duration
         2: .line 73
            aload 1 /* stream */
            instanceof java.io.DataInputStream
            ifeq 5
         3: .line 74
            aload 1 /* stream */
            checkcast java.io.DataInputStream
            astore 6 /* dis */
        start local 6 // java.io.DataInputStream dis
         4: .line 75
            goto 6
        end local 6 // java.io.DataInputStream dis
         5: .line 76
      StackMap locals: int int
      StackMap stack:
            new java.io.DataInputStream
            dup
            aload 1 /* stream */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* dis */
        start local 6 // java.io.DataInputStream dis
         6: .line 78
      StackMap locals: java.io.DataInputStream
      StackMap stack:
            aload 3 /* smfParser */
            ifnonnull 9
         7: .line 79
            aload 6 /* dis */
            iload 4 /* maxReadLength */
            invokevirtual java.io.DataInputStream.mark:(I)V
         8: .line 80
            goto 10
         9: .line 81
      StackMap locals:
      StackMap stack:
            aload 3 /* smfParser */
            aload 6 /* dis */
            putfield com.sun.media.sound.SMFParser.stream:Ljava/io/DataInputStream;
        10: .line 90
      StackMap locals:
      StackMap stack:
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 11 /* magic */
        start local 11 // int magic
        11: .line 91
            iload 11 /* magic */
            ldc 1297377380
            if_icmpeq 13
        12: .line 93
            new javax.sound.midi.InvalidMidiDataException
            dup
            ldc "not a valid MIDI file"
            invokespecial javax.sound.midi.InvalidMidiDataException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 97
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream top top top top int
      StackMap stack:
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            bipush 6
            isub
            istore 12 /* bytesRemaining */
        start local 12 // int bytesRemaining
        14: .line 98
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readShort:()S
            istore 7 /* type */
        start local 7 // int type
        15: .line 99
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readShort:()S
            istore 8 /* numtracks */
        start local 8 // int numtracks
        16: .line 100
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readShort:()S
            istore 13 /* timing */
        start local 13 // int timing
        17: .line 103
            iload 13 /* timing */
            ifle 21
        18: .line 105
            fconst_0
            fstore 9 /* divisionType */
        start local 9 // float divisionType
        19: .line 106
            iload 13 /* timing */
            istore 10 /* resolution */
        start local 10 // int resolution
        20: .line 107
            goto 33
        end local 10 // int resolution
        end local 9 // float divisionType
        21: .line 109
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream int int top top int int int
      StackMap stack:
            iconst_m1
            iload 13 /* timing */
            imul
            bipush 8
            ishr
            istore 14 /* frameCode */
        start local 14 // int frameCode
        22: .line 110
            iload 14 /* frameCode */
            tableswitch { // 24 - 30
                   24: 23
                   25: 25
                   26: 31
                   27: 31
                   28: 31
                   29: 27
                   30: 29
              default: 31
          }
        23: .line 112
      StackMap locals: int
      StackMap stack:
            ldc 24.0
            fstore 9 /* divisionType */
        start local 9 // float divisionType
        24: .line 113
            goto 32
        end local 9 // float divisionType
        25: .line 115
      StackMap locals:
      StackMap stack:
            ldc 25.0
            fstore 9 /* divisionType */
        start local 9 // float divisionType
        26: .line 116
            goto 32
        end local 9 // float divisionType
        27: .line 118
      StackMap locals:
      StackMap stack:
            ldc 29.97
            fstore 9 /* divisionType */
        start local 9 // float divisionType
        28: .line 119
            goto 32
        end local 9 // float divisionType
        29: .line 121
      StackMap locals:
      StackMap stack:
            ldc 30.0
            fstore 9 /* divisionType */
        start local 9 // float divisionType
        30: .line 122
            goto 32
        end local 9 // float divisionType
        31: .line 124
      StackMap locals:
      StackMap stack:
            new javax.sound.midi.InvalidMidiDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown frame code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* frameCode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.sound.midi.InvalidMidiDataException.<init>:(Ljava/lang/String;)V
            athrow
        start local 9 // float divisionType
        32: .line 127
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream int int float top int int int int
      StackMap stack:
            iload 13 /* timing */
            sipush 255
            iand
            istore 10 /* resolution */
        end local 14 // int frameCode
        start local 10 // int resolution
        33: .line 129
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream int int float int int int int
      StackMap stack:
            aload 3 /* smfParser */
            ifnull 41
        34: .line 131
            aload 6 /* dis */
            iload 12 /* bytesRemaining */
            i2l
            invokevirtual java.io.DataInputStream.skip:(J)J
            pop2
        35: .line 132
            aload 3 /* smfParser */
            iload 8 /* numtracks */
            putfield com.sun.media.sound.SMFParser.tracks:I
        end local 13 // int timing
        end local 12 // int bytesRemaining
        end local 11 // int magic
        36: .line 134
            goto 41
        end local 10 // int resolution
        end local 9 // float divisionType
        end local 8 // int numtracks
        end local 7 // int type
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream
      StackMap stack: java.lang.Throwable
        37: astore 15
        38: .line 136
            aload 3 /* smfParser */
            ifnonnull 40
        39: .line 137
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.reset:()V
        40: .line 139
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        start local 7 // int type
        start local 8 // int numtracks
        start local 9 // float divisionType
        start local 10 // int resolution
        41: .line 136
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.InputStream int com.sun.media.sound.SMFParser int int java.io.DataInputStream int int float int
      StackMap stack:
            aload 3 /* smfParser */
            ifnonnull 43
        42: .line 137
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.reset:()V
        43: .line 140
      StackMap locals:
      StackMap stack:
            new javax.sound.midi.MidiFileFormat
            dup
            iload 7 /* type */
            fload 9 /* divisionType */
            iload 10 /* resolution */
            iload 2 /* fileLength */
            iload 5 /* duration */
            i2l
            invokespecial javax.sound.midi.MidiFileFormat.<init>:(IFIIJ)V
            astore 11 /* format */
        start local 11 // javax.sound.midi.MidiFileFormat format
        44: .line 141
            aload 11 /* format */
            areturn
        end local 11 // javax.sound.midi.MidiFileFormat format
        end local 10 // int resolution
        end local 9 // float divisionType
        end local 8 // int numtracks
        end local 7 // int type
        end local 6 // java.io.DataInputStream dis
        end local 5 // int duration
        end local 4 // int maxReadLength
        end local 3 // com.sun.media.sound.SMFParser smfParser
        end local 2 // int fileLength
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Lcom/sun/media/sound/StandardMidiFileReader;
            0   45     1          stream  Ljava/io/InputStream;
            0   45     2      fileLength  I
            0   45     3       smfParser  Lcom/sun/media/sound/SMFParser;
            1   45     4   maxReadLength  I
            2   45     5        duration  I
            4    5     6             dis  Ljava/io/DataInputStream;
            6   45     6             dis  Ljava/io/DataInputStream;
           15   37     7            type  I
           41   45     7            type  I
           16   37     8       numtracks  I
           41   45     8       numtracks  I
           19   21     9    divisionType  F
           24   25     9    divisionType  F
           26   27     9    divisionType  F
           28   29     9    divisionType  F
           30   31     9    divisionType  F
           32   37     9    divisionType  F
           41   45     9    divisionType  F
           20   21    10      resolution  I
           33   37    10      resolution  I
           41   45    10      resolution  I
           11   36    11           magic  I
           14   36    12  bytesRemaining  I
           17   36    13          timing  I
           22   33    14       frameCode  I
           44   45    11          format  Ljavax/sound/midi/MidiFileFormat;
      Exception table:
        from    to  target  type
          10    37      37  any
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
            Name  Flags
      stream      
      fileLength  
      smfParser   

  public javax.sound.midi.MidiFileFormat getMidiFileFormat(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljavax/sound/midi/MidiFileFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.net.URL url
         0: .line 146
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 2 /* urlStream */
        start local 2 // java.io.InputStream urlStream
         1: .line 147
            new java.io.BufferedInputStream
            dup
            aload 2 /* urlStream */
            sipush 1024
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 3 /* bis */
        start local 3 // java.io.BufferedInputStream bis
         2: .line 148
            aconst_null
            astore 4 /* fileFormat */
        start local 4 // javax.sound.midi.MidiFileFormat fileFormat
         3: .line 150
            aload 0 /* this */
            aload 3 /* bis */
            invokevirtual com.sun.media.sound.StandardMidiFileReader.getMidiFileFormat:(Ljava/io/InputStream;)Ljavax/sound/midi/MidiFileFormat;
            astore 4 /* fileFormat */
         4: .line 151
            goto 8
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.net.URL java.io.InputStream java.io.BufferedInputStream javax.sound.midi.MidiFileFormat
      StackMap stack: java.lang.Throwable
         5: astore 5
         6: .line 152
            aload 3 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
         7: .line 153
            aload 5
            athrow
         8: .line 152
      StackMap locals:
      StackMap stack:
            aload 3 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
         9: .line 154
            aload 4 /* fileFormat */
            areturn
        end local 4 // javax.sound.midi.MidiFileFormat fileFormat
        end local 3 // java.io.BufferedInputStream bis
        end local 2 // java.io.InputStream urlStream
        end local 1 // java.net.URL url
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/sun/media/sound/StandardMidiFileReader;
            0   10     1         url  Ljava/net/URL;
            1   10     2   urlStream  Ljava/io/InputStream;
            2   10     3         bis  Ljava/io/BufferedInputStream;
            3   10     4  fileFormat  Ljavax/sound/midi/MidiFileFormat;
      Exception table:
        from    to  target  type
           3     5       5  any
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  public javax.sound.midi.MidiFileFormat getMidiFileFormat(java.io.File);
    descriptor: (Ljava/io/File;)Ljavax/sound/midi/MidiFileFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.io.File file
         0: .line 159
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* fis */
        start local 2 // java.io.FileInputStream fis
         1: .line 160
            new java.io.BufferedInputStream
            dup
            aload 2 /* fis */
            sipush 1024
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 3 /* bis */
        start local 3 // java.io.BufferedInputStream bis
         2: .line 163
            aload 1 /* file */
            invokevirtual java.io.File.length:()J
            lstore 4 /* length */
        start local 4 // long length
         3: .line 164
            lload 4 /* length */
            ldc 2147483647
            lcmp
            ifle 5
         4: .line 165
            ldc -1
            lstore 4 /* length */
         5: .line 167
      StackMap locals: java.io.FileInputStream java.io.BufferedInputStream long
      StackMap stack:
            aconst_null
            astore 6 /* fileFormat */
        start local 6 // javax.sound.midi.MidiFileFormat fileFormat
         6: .line 169
            aload 0 /* this */
            aload 3 /* bis */
            lload 4 /* length */
            l2i
            aconst_null
            invokevirtual com.sun.media.sound.StandardMidiFileReader.getMidiFileFormatFromStream:(Ljava/io/InputStream;ILcom/sun/media/sound/SMFParser;)Ljavax/sound/midi/MidiFileFormat;
            astore 6 /* fileFormat */
         7: .line 170
            goto 11
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.File java.io.FileInputStream java.io.BufferedInputStream long javax.sound.midi.MidiFileFormat
      StackMap stack: java.lang.Throwable
         8: astore 7
         9: .line 171
            aload 3 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
        10: .line 172
            aload 7
            athrow
        11: .line 171
      StackMap locals:
      StackMap stack:
            aload 3 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
        12: .line 173
            aload 6 /* fileFormat */
            areturn
        end local 6 // javax.sound.midi.MidiFileFormat fileFormat
        end local 4 // long length
        end local 3 // java.io.BufferedInputStream bis
        end local 2 // java.io.FileInputStream fis
        end local 1 // java.io.File file
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/sun/media/sound/StandardMidiFileReader;
            0   13     1        file  Ljava/io/File;
            1   13     2         fis  Ljava/io/FileInputStream;
            2   13     3         bis  Ljava/io/BufferedInputStream;
            3   13     4      length  J
            6   13     6  fileFormat  Ljavax/sound/midi/MidiFileFormat;
      Exception table:
        from    to  target  type
           6     8       8  any
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public javax.sound.midi.Sequence getSequence(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljavax/sound/midi/Sequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.io.InputStream stream
         0: .line 178
            new com.sun.media.sound.SMFParser
            dup
            invokespecial com.sun.media.sound.SMFParser.<init>:()V
            astore 2 /* smfParser */
        start local 2 // com.sun.media.sound.SMFParser smfParser
         1: .line 179
            aload 0 /* this */
            aload 1 /* stream */
         2: .line 180
            iconst_m1
         3: .line 181
            aload 2 /* smfParser */
         4: .line 179
            invokevirtual com.sun.media.sound.StandardMidiFileReader.getMidiFileFormatFromStream:(Ljava/io/InputStream;ILcom/sun/media/sound/SMFParser;)Ljavax/sound/midi/MidiFileFormat;
            astore 3 /* format */
        start local 3 // javax.sound.midi.MidiFileFormat format
         5: .line 184
            aload 3 /* format */
            invokevirtual javax.sound.midi.MidiFileFormat.getType:()I
            ifeq 7
            aload 3 /* format */
            invokevirtual javax.sound.midi.MidiFileFormat.getType:()I
            iconst_1
            if_icmpeq 7
         6: .line 185
            new javax.sound.midi.InvalidMidiDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid or unsupported file type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* format */
            invokevirtual javax.sound.midi.MidiFileFormat.getType:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.sound.midi.InvalidMidiDataException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 189
      StackMap locals: com.sun.media.sound.SMFParser javax.sound.midi.MidiFileFormat
      StackMap stack:
            new javax.sound.midi.Sequence
            dup
            aload 3 /* format */
            invokevirtual javax.sound.midi.MidiFileFormat.getDivisionType:()F
            aload 3 /* format */
            invokevirtual javax.sound.midi.MidiFileFormat.getResolution:()I
            invokespecial javax.sound.midi.Sequence.<init>:(FI)V
            astore 4 /* sequence */
        start local 4 // javax.sound.midi.Sequence sequence
         8: .line 192
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 13
        10: .line 193
      StackMap locals: javax.sound.midi.Sequence int
      StackMap stack:
            aload 2 /* smfParser */
            invokevirtual com.sun.media.sound.SMFParser.nextTrack:()Z
            ifeq 14
        11: .line 194
            aload 2 /* smfParser */
            aload 4 /* sequence */
            invokevirtual javax.sound.midi.Sequence.createTrack:()Ljavax/sound/midi/Track;
            invokevirtual com.sun.media.sound.SMFParser.readTrack:(Ljavax/sound/midi/Track;)V
        12: .line 192
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 2 /* smfParser */
            getfield com.sun.media.sound.SMFParser.tracks:I
            if_icmplt 10
        end local 5 // int i
        14: .line 199
      StackMap locals:
      StackMap stack:
            aload 4 /* sequence */
            areturn
        end local 4 // javax.sound.midi.Sequence sequence
        end local 3 // javax.sound.midi.MidiFileFormat format
        end local 2 // com.sun.media.sound.SMFParser smfParser
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lcom/sun/media/sound/StandardMidiFileReader;
            0   15     1     stream  Ljava/io/InputStream;
            1   15     2  smfParser  Lcom/sun/media/sound/SMFParser;
            5   15     3     format  Ljavax/sound/midi/MidiFileFormat;
            8   15     4   sequence  Ljavax/sound/midi/Sequence;
            9   14     5          i  I
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public javax.sound.midi.Sequence getSequence(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljavax/sound/midi/Sequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.net.URL url
         0: .line 205
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         1: .line 206
            new java.io.BufferedInputStream
            dup
            aload 2 /* is */
            sipush 1024
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 2 /* is */
         2: .line 207
            aconst_null
            astore 3 /* seq */
        start local 3 // javax.sound.midi.Sequence seq
         3: .line 209
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual com.sun.media.sound.StandardMidiFileReader.getSequence:(Ljava/io/InputStream;)Ljavax/sound/midi/Sequence;
            astore 3 /* seq */
         4: .line 210
            goto 8
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.net.URL java.io.InputStream javax.sound.midi.Sequence
      StackMap stack: java.lang.Throwable
         5: astore 4
         6: .line 211
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
         7: .line 212
            aload 4
            athrow
         8: .line 211
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
         9: .line 213
            aload 3 /* seq */
            areturn
        end local 3 // javax.sound.midi.Sequence seq
        end local 2 // java.io.InputStream is
        end local 1 // java.net.URL url
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/media/sound/StandardMidiFileReader;
            0   10     1   url  Ljava/net/URL;
            1   10     2    is  Ljava/io/InputStream;
            3   10     3   seq  Ljavax/sound/midi/Sequence;
      Exception table:
        from    to  target  type
           3     5       5  any
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  public javax.sound.midi.Sequence getSequence(java.io.File);
    descriptor: (Ljava/io/File;)Ljavax/sound/midi/Sequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.media.sound.StandardMidiFileReader this
        start local 1 // java.io.File file
         0: .line 218
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         1: .line 219
            new java.io.BufferedInputStream
            dup
            aload 2 /* is */
            sipush 1024
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 2 /* is */
         2: .line 220
            aconst_null
            astore 3 /* seq */
        start local 3 // javax.sound.midi.Sequence seq
         3: .line 222
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual com.sun.media.sound.StandardMidiFileReader.getSequence:(Ljava/io/InputStream;)Ljavax/sound/midi/Sequence;
            astore 3 /* seq */
         4: .line 223
            goto 8
      StackMap locals: com.sun.media.sound.StandardMidiFileReader java.io.File java.io.InputStream javax.sound.midi.Sequence
      StackMap stack: java.lang.Throwable
         5: astore 4
         6: .line 224
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
         7: .line 225
            aload 4
            athrow
         8: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
         9: .line 226
            aload 3 /* seq */
            areturn
        end local 3 // javax.sound.midi.Sequence seq
        end local 2 // java.io.InputStream is
        end local 1 // java.io.File file
        end local 0 // com.sun.media.sound.StandardMidiFileReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/media/sound/StandardMidiFileReader;
            0   10     1  file  Ljava/io/File;
            1   10     2    is  Ljava/io/InputStream;
            3   10     3   seq  Ljavax/sound/midi/Sequence;
      Exception table:
        from    to  target  type
           3     5       5  any
    Exceptions:
      throws javax.sound.midi.InvalidMidiDataException, java.io.IOException
    MethodParameters:
      Name  Flags
      file  
}
SourceFile: "StandardMidiFileReader.java"