public final class com.sun.media.sound.SF2Soundbank implements javax.sound.midi.Soundbank
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.SF2Soundbank
  super_class: java.lang.Object
{
  int major;
    descriptor: I
    flags: (0x0000) 

  int minor;
    descriptor: I
    flags: (0x0000) 

  java.lang.String targetEngine;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String romName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  int romVersionMajor;
    descriptor: I
    flags: (0x0000) 

  int romVersionMinor;
    descriptor: I
    flags: (0x0000) 

  java.lang.String creationDate;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String engineers;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String product;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String copyright;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String comments;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String tools;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  private com.sun.media.sound.ModelByteBuffer sampleData;
    descriptor: Lcom/sun/media/sound/ModelByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.media.sound.ModelByteBuffer sampleData24;
    descriptor: Lcom/sun/media/sound/ModelByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.io.File sampleFile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private boolean largeFormat;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.util.List<com.sun.media.sound.SF2Instrument> instruments;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/media/sound/SF2Instrument;>;

  private final java.util.List<com.sun.media.sound.SF2Layer> layers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/media/sound/SF2Layer;>;

  private final java.util.List<com.sun.media.sound.SF2Sample> samples;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/media/sound/SF2Sample;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 57
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 59
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 61
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 63
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 65
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 70
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 74
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 76
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 78
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 80
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 83
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 84
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
        19: .line 85
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
        20: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
        21: .line 89
            return
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void <init>(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.net.URL url
         0: .line 91
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 57
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 59
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 61
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 63
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 65
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 70
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 74
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 76
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 78
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 80
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 83
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 84
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
        19: .line 85
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
        20: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
        21: .line 93
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
        22: .line 95
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSoundbank:(Ljava/io/InputStream;)V
        23: .line 96
            goto 27
      StackMap locals: com.sun.media.sound.SF2Soundbank java.net.URL java.io.InputStream
      StackMap stack: java.lang.Throwable
        24: astore 3
        25: .line 97
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        26: .line 98
            aload 3
            athrow
        27: .line 97
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        28: .line 99
            return
        end local 2 // java.io.InputStream is
        end local 1 // java.net.URL url
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0   29     1   url  Ljava/net/URL;
           22   29     2    is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
          22    24      24  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.io.File file
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 57
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 59
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 61
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 63
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 65
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 70
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 74
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 76
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 78
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 80
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 83
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 84
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
        19: .line 85
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
        20: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
        21: .line 102
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        22: .line 103
            aload 0 /* this */
            aload 1 /* file */
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        23: .line 104
            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
        24: .line 106
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSoundbank:(Ljava/io/InputStream;)V
        25: .line 107
            goto 29
      StackMap locals: com.sun.media.sound.SF2Soundbank java.io.File java.io.InputStream
      StackMap stack: java.lang.Throwable
        26: astore 3
        27: .line 108
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        28: .line 109
            aload 3
            athrow
        29: .line 108
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        30: .line 110
            return
        end local 2 // java.io.InputStream is
        end local 1 // java.io.File file
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0   31     1  file  Ljava/io/File;
           24   31     2    is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
          24    26      26  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.io.InputStream inputstream
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 57
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 59
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 61
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 63
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 65
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 70
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 74
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 76
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 78
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 80
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 83
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 84
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
        19: .line 85
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
        20: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
        21: .line 113
            aload 0 /* this */
            aload 1 /* inputstream */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSoundbank:(Ljava/io/InputStream;)V
        22: .line 114
            return
        end local 1 // java.io.InputStream inputstream
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lcom/sun/media/sound/SF2Soundbank;
            0   23     1  inputstream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputstream  

  private void readSoundbank(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.io.InputStream inputstream
         0: .line 117
            new com.sun.media.sound.RIFFReader
            dup
            aload 1 /* inputstream */
            invokespecial com.sun.media.sound.RIFFReader.<init>:(Ljava/io/InputStream;)V
            astore 2 /* riff */
        start local 2 // com.sun.media.sound.RIFFReader riff
         1: .line 118
            aload 2 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "RIFF"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         2: .line 119
            new com.sun.media.sound.RIFFInvalidFormatException
            dup
         3: .line 120
            ldc "Input stream is not a valid RIFF stream!"
         4: .line 119
            invokespecial com.sun.media.sound.RIFFInvalidFormatException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 122
      StackMap locals: com.sun.media.sound.RIFFReader
      StackMap stack:
            aload 2 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.getType:()Ljava/lang/String;
            ldc "sfbk"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
         6: .line 123
            new com.sun.media.sound.RIFFInvalidFormatException
            dup
         7: .line 124
            ldc "Input stream is not a valid SoundFont!"
         8: .line 123
            invokespecial com.sun.media.sound.RIFFInvalidFormatException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 127
      StackMap locals:
      StackMap stack:
            aload 2 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.nextChunk:()Lcom/sun/media/sound/RIFFReader;
            astore 3 /* chunk */
        start local 3 // com.sun.media.sound.RIFFReader chunk
        10: .line 128
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "LIST"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        11: .line 129
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getType:()Ljava/lang/String;
            ldc "INFO"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 130
            aload 0 /* this */
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.SF2Soundbank.readInfoChunk:(Lcom/sun/media/sound/RIFFReader;)V
        13: .line 131
      StackMap locals: com.sun.media.sound.RIFFReader
      StackMap stack:
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getType:()Ljava/lang/String;
            ldc "sdta"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 132
            aload 0 /* this */
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSdtaChunk:(Lcom/sun/media/sound/RIFFReader;)V
        15: .line 133
      StackMap locals:
      StackMap stack:
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getType:()Ljava/lang/String;
            ldc "pdta"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 134
            aload 0 /* this */
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.SF2Soundbank.readPdtaChunk:(Lcom/sun/media/sound/RIFFReader;)V
        end local 3 // com.sun.media.sound.RIFFReader chunk
        17: .line 126
      StackMap locals:
      StackMap stack:
            aload 2 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 9
        18: .line 137
            return
        end local 2 // com.sun.media.sound.RIFFReader riff
        end local 1 // java.io.InputStream inputstream
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lcom/sun/media/sound/SF2Soundbank;
            0   19     1  inputstream  Ljava/io/InputStream;
            1   19     2         riff  Lcom/sun/media/sound/RIFFReader;
           10   17     3        chunk  Lcom/sun/media/sound/RIFFReader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputstream  

  private void readInfoChunk(com.sun.media.sound.RIFFReader);
    descriptor: (Lcom/sun/media/sound/RIFFReader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFReader riff
         0: .line 140
            goto 37
         1: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.nextChunk:()Lcom/sun/media/sound/RIFFReader;
            astore 2 /* chunk */
        start local 2 // com.sun.media.sound.RIFFReader chunk
         2: .line 142
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            astore 3 /* format */
        start local 3 // java.lang.String format
         3: .line 143
            aload 3 /* format */
            ldc "ifil"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 144
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.major:I
         5: .line 145
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         6: .line 146
            goto 37
      StackMap locals: com.sun.media.sound.RIFFReader java.lang.String
      StackMap stack:
         7: aload 3 /* format */
            ldc "isng"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 147
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         9: .line 148
            goto 37
      StackMap locals:
      StackMap stack:
        10: aload 3 /* format */
            ldc "INAM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 149
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
        12: .line 150
            goto 37
      StackMap locals:
      StackMap stack:
        13: aload 3 /* format */
            ldc "irom"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 151
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
        15: .line 152
            goto 37
      StackMap locals:
      StackMap stack:
        16: aload 3 /* format */
            ldc "iver"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        17: .line 153
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
        18: .line 154
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
        19: .line 155
            goto 37
      StackMap locals:
      StackMap stack:
        20: aload 3 /* format */
            ldc "ICRD"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 156
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
        22: .line 157
            goto 37
      StackMap locals:
      StackMap stack:
        23: aload 3 /* format */
            ldc "IENG"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 158
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        25: .line 159
            goto 37
      StackMap locals:
      StackMap stack:
        26: aload 3 /* format */
            ldc "IPRD"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 160
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        28: .line 161
            goto 37
      StackMap locals:
      StackMap stack:
        29: aload 3 /* format */
            ldc "ICOP"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 162
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        31: .line 163
            goto 37
      StackMap locals:
      StackMap stack:
        32: aload 3 /* format */
            ldc "ICMT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 164
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        34: .line 165
            goto 37
      StackMap locals:
      StackMap stack:
        35: aload 3 /* format */
            ldc "ISFT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        36: .line 166
            aload 0 /* this */
            aload 2 /* chunk */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        end local 3 // java.lang.String format
        end local 2 // com.sun.media.sound.RIFFReader chunk
        37: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 1
        38: .line 170
            return
        end local 1 // com.sun.media.sound.RIFFReader riff
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   39     0    this  Lcom/sun/media/sound/SF2Soundbank;
            0   39     1    riff  Lcom/sun/media/sound/RIFFReader;
            2   37     2   chunk  Lcom/sun/media/sound/RIFFReader;
            3   37     3  format  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      riff  

  private void readSdtaChunk(com.sun.media.sound.RIFFReader);
    descriptor: (Lcom/sun/media/sound/RIFFReader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFReader riff
         0: .line 173
            goto 38
         1: .line 174
      StackMap locals:
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.nextChunk:()Lcom/sun/media/sound/RIFFReader;
            astore 2 /* chunk */
        start local 2 // com.sun.media.sound.RIFFReader chunk
         2: .line 175
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "smpl"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
         3: .line 176
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
            ifne 17
         4: .line 177
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            newarray 8
            astore 3 /* sampleData */
        start local 3 // byte[] sampleData
         5: .line 179
            iconst_0
            istore 4 /* read */
        start local 4 // int read
         6: .line 180
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            istore 5 /* avail */
        start local 5 // int avail
         7: .line 181
            goto 14
         8: .line 182
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFReader com.sun.media.sound.RIFFReader byte[] int int
      StackMap stack:
            iload 5 /* avail */
            iload 4 /* read */
            isub
            ldc 65536
            if_icmple 12
         9: .line 183
            aload 2 /* chunk */
            aload 3 /* sampleData */
            iload 4 /* read */
            ldc 65536
            invokevirtual com.sun.media.sound.RIFFReader.readFully:([BII)V
        10: .line 184
            iload 4 /* read */
            ldc 65536
            iadd
            istore 4 /* read */
        11: .line 185
            goto 14
        12: .line 186
      StackMap locals:
      StackMap stack:
            aload 2 /* chunk */
            aload 3 /* sampleData */
            iload 4 /* read */
            iload 5 /* avail */
            iload 4 /* read */
            isub
            invokevirtual com.sun.media.sound.RIFFReader.readFully:([BII)V
        13: .line 187
            iload 5 /* avail */
            istore 4 /* read */
        14: .line 181
      StackMap locals:
      StackMap stack:
            iload 4 /* read */
            iload 5 /* avail */
            if_icmpne 8
        15: .line 191
            aload 0 /* this */
            new com.sun.media.sound.ModelByteBuffer
            dup
            aload 3 /* sampleData */
            invokespecial com.sun.media.sound.ModelByteBuffer.<init>:([B)V
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        end local 5 // int avail
        end local 4 // int read
        end local 3 // byte[] sampleData
        16: .line 193
            goto 20
        17: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.media.sound.ModelByteBuffer
            dup
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        18: .line 195
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFilePointer:()J
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            i2l
            invokespecial com.sun.media.sound.ModelByteBuffer.<init>:(Ljava/io/File;JJ)V
        19: .line 194
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        20: .line 198
      StackMap locals:
      StackMap stack:
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "sm24"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        21: .line 199
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
            ifne 35
        22: .line 200
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            newarray 8
            astore 3 /* sampleData24 */
        start local 3 // byte[] sampleData24
        23: .line 203
            iconst_0
            istore 4 /* read */
        start local 4 // int read
        24: .line 204
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            istore 5 /* avail */
        start local 5 // int avail
        25: .line 205
            goto 32
        26: .line 206
      StackMap locals: byte[] int int
      StackMap stack:
            iload 5 /* avail */
            iload 4 /* read */
            isub
            ldc 65536
            if_icmple 30
        27: .line 207
            aload 2 /* chunk */
            aload 3 /* sampleData24 */
            iload 4 /* read */
            ldc 65536
            invokevirtual com.sun.media.sound.RIFFReader.readFully:([BII)V
        28: .line 208
            iload 4 /* read */
            ldc 65536
            iadd
            istore 4 /* read */
        29: .line 209
            goto 32
        30: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* chunk */
            aload 3 /* sampleData24 */
            iload 4 /* read */
            iload 5 /* avail */
            iload 4 /* read */
            isub
            invokevirtual com.sun.media.sound.RIFFReader.readFully:([BII)V
        31: .line 211
            iload 5 /* avail */
            istore 4 /* read */
        32: .line 205
      StackMap locals:
      StackMap stack:
            iload 4 /* read */
            iload 5 /* avail */
            if_icmpne 26
        33: .line 215
            aload 0 /* this */
            new com.sun.media.sound.ModelByteBuffer
            dup
            aload 3 /* sampleData24 */
            invokespecial com.sun.media.sound.ModelByteBuffer.<init>:([B)V
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        end local 5 // int avail
        end local 4 // int read
        end local 3 // byte[] sampleData24
        34: .line 216
            goto 38
        35: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.media.sound.ModelByteBuffer
            dup
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        36: .line 218
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFilePointer:()J
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            i2l
            invokespecial com.sun.media.sound.ModelByteBuffer.<init>:(Ljava/io/File;JJ)V
        37: .line 217
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        end local 2 // com.sun.media.sound.RIFFReader chunk
        38: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 1
        39: .line 223
            return
        end local 1 // com.sun.media.sound.RIFFReader riff
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   40     0          this  Lcom/sun/media/sound/SF2Soundbank;
            0   40     1          riff  Lcom/sun/media/sound/RIFFReader;
            2   38     2         chunk  Lcom/sun/media/sound/RIFFReader;
            5   16     3    sampleData  [B
            6   16     4          read  I
            7   16     5         avail  I
           23   34     3  sampleData24  [B
           24   34     4          read  I
           25   34     5         avail  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      riff  

  private void readPdtaChunk(com.sun.media.sound.RIFFReader);
    descriptor: (Lcom/sun/media/sound/RIFFReader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=21, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFReader riff
         0: .line 227
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* presets */
        start local 2 // java.util.List presets
         1: .line 228
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* presets_bagNdx */
        start local 3 // java.util.List presets_bagNdx
         2: .line 230
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         3: .line 229
            astore 4 /* presets_splits_gen */
        start local 4 // java.util.List presets_splits_gen
         4: .line 232
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         5: .line 231
            astore 5 /* presets_splits_mod */
        start local 5 // java.util.List presets_splits_mod
         6: .line 234
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* instruments */
        start local 6 // java.util.List instruments
         7: .line 235
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* instruments_bagNdx */
        start local 7 // java.util.List instruments_bagNdx
         8: .line 237
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         9: .line 236
            astore 8 /* instruments_splits_gen */
        start local 8 // java.util.List instruments_splits_gen
        10: .line 239
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
        11: .line 238
            astore 9 /* instruments_splits_mod */
        start local 9 // java.util.List instruments_splits_mod
        12: .line 241
            goto 238
        13: .line 242
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFReader java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.nextChunk:()Lcom/sun/media/sound/RIFFReader;
            astore 10 /* chunk */
        start local 10 // com.sun.media.sound.RIFFReader chunk
        14: .line 243
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            astore 11 /* format */
        start local 11 // java.lang.String format
        15: .line 244
            aload 11 /* format */
            ldc "phdr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        16: .line 246
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 38
            irem
            ifeq 18
        17: .line 247
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        18: .line 248
      StackMap locals: com.sun.media.sound.RIFFReader java.lang.String
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 38
            idiv
            istore 12 /* count */
        start local 12 // int count
        19: .line 249
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        20: goto 33
        21: .line 250
      StackMap locals: int int
      StackMap stack:
            new com.sun.media.sound.SF2Instrument
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SF2Instrument.<init>:(Lcom/sun/media/sound/SF2Soundbank;)V
            astore 14 /* preset */
        start local 14 // com.sun.media.sound.SF2Instrument preset
        22: .line 251
            aload 14 /* preset */
            aload 10 /* chunk */
            bipush 20
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Instrument.name:Ljava/lang/String;
        23: .line 252
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Instrument.preset:I
        24: .line 253
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Instrument.bank:I
        25: .line 254
            aload 3 /* presets_bagNdx */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 255
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Instrument.library:J
        27: .line 256
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Instrument.genre:J
        28: .line 257
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Instrument.morphology:J
        29: .line 258
            aload 2 /* presets */
            aload 14 /* preset */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 259
            iload 13 /* i */
            iload 12 /* count */
            iconst_1
            isub
            if_icmpeq 32
        31: .line 260
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            aload 14 /* preset */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // com.sun.media.sound.SF2Instrument preset
        32: .line 249
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 13 /* i */
            iload 12 /* count */
            if_icmplt 21
        end local 13 // int i
        end local 12 // int count
        34: .line 262
            goto 238
      StackMap locals:
      StackMap stack:
        35: aload 11 /* format */
            ldc "pbag"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 90
        36: .line 264
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            iconst_4
            irem
            ifeq 38
        37: .line 265
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        38: .line 266
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            iconst_4
            idiv
            istore 12 /* count */
        start local 12 // int count
        39: .line 270
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* gencount */
        start local 13 // int gencount
        40: .line 271
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 14 /* modcount */
        start local 14 // int modcount
        41: .line 272
            goto 43
        42: .line 273
      StackMap locals: int int int
      StackMap stack:
            aload 4 /* presets_splits_gen */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 272
      StackMap locals:
      StackMap stack:
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 13 /* gencount */
            if_icmplt 42
        44: .line 274
            goto 46
        45: .line 275
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 274
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 14 /* modcount */
            if_icmplt 45
        47: .line 276
            iinc 12 /* count */ -1
        end local 14 // int modcount
        end local 13 // int gencount
        48: .line 279
            aload 3 /* presets_bagNdx */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 13 /* offset */
        start local 13 // int offset
        49: .line 281
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        50: goto 63
        51: .line 282
      StackMap locals:
      StackMap stack:
            iload 12 /* count */
            ifne 53
        52: .line 283
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        53: .line 284
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 15 /* gencount */
        start local 15 // int gencount
        54: .line 285
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 16 /* modcount */
        start local 16 // int modcount
        55: .line 286
            goto 57
        56: .line 287
      StackMap locals: int int
      StackMap stack:
            aload 4 /* presets_splits_gen */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        57: .line 286
      StackMap locals:
      StackMap stack:
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 15 /* gencount */
            if_icmplt 56
        58: .line 288
            goto 60
        59: .line 289
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        60: .line 288
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 16 /* modcount */
            if_icmplt 59
        61: .line 290
            iinc 12 /* count */ -1
        end local 16 // int modcount
        end local 15 // int gencount
        62: .line 281
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 14 /* i */
            iload 13 /* offset */
            if_icmplt 51
        end local 14 // int i
        64: .line 293
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        65: goto 88
        66: .line 294
      StackMap locals:
      StackMap stack:
            aload 3 /* presets_bagNdx */
            iload 14 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        67: .line 295
            aload 3 /* presets_bagNdx */
            iload 14 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        68: .line 294
            isub
            istore 15 /* zone_count */
        start local 15 // int zone_count
        69: .line 296
            aload 2 /* presets */
            iload 14 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 16 /* preset */
        start local 16 // com.sun.media.sound.SF2Instrument preset
        70: .line 297
            iconst_0
            istore 17 /* ii */
        start local 17 // int ii
        71: goto 86
        72: .line 298
      StackMap locals: int com.sun.media.sound.SF2Instrument int
      StackMap stack:
            iload 12 /* count */
            ifne 74
        73: .line 299
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        74: .line 300
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 18 /* gencount */
        start local 18 // int gencount
        75: .line 301
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 19 /* modcount */
        start local 19 // int modcount
        76: .line 302
            new com.sun.media.sound.SF2InstrumentRegion
            dup
            invokespecial com.sun.media.sound.SF2InstrumentRegion.<init>:()V
            astore 20 /* split */
        start local 20 // com.sun.media.sound.SF2InstrumentRegion split
        77: .line 303
            aload 16 /* preset */
            getfield com.sun.media.sound.SF2Instrument.regions:Ljava/util/List;
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        78: .line 304
            goto 80
        79: .line 305
      StackMap locals: int int com.sun.media.sound.SF2InstrumentRegion
      StackMap stack:
            aload 4 /* presets_splits_gen */
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        80: .line 304
      StackMap locals:
      StackMap stack:
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 18 /* gencount */
            if_icmplt 79
        81: .line 306
            goto 83
        82: .line 307
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        83: .line 306
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 19 /* modcount */
            if_icmplt 82
        84: .line 308
            iinc 12 /* count */ -1
        end local 20 // com.sun.media.sound.SF2InstrumentRegion split
        end local 19 // int modcount
        end local 18 // int gencount
        85: .line 297
            iinc 17 /* ii */ 1
      StackMap locals:
      StackMap stack:
        86: iload 17 /* ii */
            iload 15 /* zone_count */
            if_icmplt 72
        end local 17 // int ii
        end local 16 // com.sun.media.sound.SF2Instrument preset
        end local 15 // int zone_count
        87: .line 293
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        88: iload 14 /* i */
            aload 3 /* presets_bagNdx */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 66
        end local 14 // int i
        end local 13 // int offset
        end local 12 // int count
        89: .line 311
            goto 238
      StackMap locals:
      StackMap stack:
        90: aload 11 /* format */
            ldc "pmod"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 105
        91: .line 313
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        92: goto 103
        93: .line 314
      StackMap locals: int
      StackMap stack:
            new com.sun.media.sound.SF2Modulator
            dup
            invokespecial com.sun.media.sound.SF2Modulator.<init>:()V
            astore 13 /* modulator */
        start local 13 // com.sun.media.sound.SF2Modulator modulator
        94: .line 315
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.sourceOperator:I
        95: .line 316
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.destinationOperator:I
        96: .line 317
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            putfield com.sun.media.sound.SF2Modulator.amount:S
        97: .line 318
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.amountSourceOperator:I
        98: .line 319
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.transportOperator:I
        99: .line 320
            aload 5 /* presets_splits_mod */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2InstrumentRegion
            astore 14 /* split */
        start local 14 // com.sun.media.sound.SF2InstrumentRegion split
       100: .line 321
            aload 14 /* split */
            ifnull 102
       101: .line 322
            aload 14 /* split */
            getfield com.sun.media.sound.SF2InstrumentRegion.modulators:Ljava/util/List;
            aload 13 /* modulator */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // com.sun.media.sound.SF2InstrumentRegion split
        end local 13 // com.sun.media.sound.SF2Modulator modulator
       102: .line 313
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       103: iload 12 /* i */
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            if_icmplt 93
        end local 12 // int i
       104: .line 324
            goto 238
      StackMap locals:
      StackMap stack:
       105: aload 11 /* format */
            ldc "pgen"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 116
       106: .line 326
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       107: goto 114
       108: .line 327
      StackMap locals: int
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* operator */
        start local 13 // int operator
       109: .line 328
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            istore 14 /* amount */
        start local 14 // short amount
       110: .line 329
            aload 4 /* presets_splits_gen */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2InstrumentRegion
            astore 15 /* split */
        start local 15 // com.sun.media.sound.SF2InstrumentRegion split
       111: .line 330
            aload 15 /* split */
            ifnull 113
       112: .line 331
            aload 15 /* split */
            getfield com.sun.media.sound.SF2InstrumentRegion.generators:Ljava/util/Map;
            iload 13 /* operator */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 14 /* amount */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // com.sun.media.sound.SF2InstrumentRegion split
        end local 14 // short amount
        end local 13 // int operator
       113: .line 326
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       114: iload 12 /* i */
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            if_icmplt 108
        end local 12 // int i
       115: .line 333
            goto 238
      StackMap locals:
      StackMap stack:
       116: aload 11 /* format */
            ldc "inst"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 131
       117: .line 335
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 22
            irem
            ifeq 119
       118: .line 336
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       119: .line 337
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 22
            idiv
            istore 12 /* count */
        start local 12 // int count
       120: .line 338
            iconst_0
            istore 13 /* i */
        start local 13 // int i
       121: goto 129
       122: .line 339
      StackMap locals: int int
      StackMap stack:
            new com.sun.media.sound.SF2Layer
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SF2Layer.<init>:(Lcom/sun/media/sound/SF2Soundbank;)V
            astore 14 /* layer */
        start local 14 // com.sun.media.sound.SF2Layer layer
       123: .line 340
            aload 14 /* layer */
            aload 10 /* chunk */
            bipush 20
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Layer.name:Ljava/lang/String;
       124: .line 341
            aload 7 /* instruments_bagNdx */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       125: .line 342
            aload 6 /* instruments */
            aload 14 /* layer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       126: .line 343
            iload 13 /* i */
            iload 12 /* count */
            iconst_1
            isub
            if_icmpeq 128
       127: .line 344
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 14 /* layer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // com.sun.media.sound.SF2Layer layer
       128: .line 338
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       129: iload 13 /* i */
            iload 12 /* count */
            if_icmplt 122
        end local 13 // int i
        end local 12 // int count
       130: .line 346
            goto 238
      StackMap locals:
      StackMap stack:
       131: aload 11 /* format */
            ldc "ibag"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 184
       132: .line 348
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            iconst_4
            irem
            ifeq 134
       133: .line 349
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       134: .line 350
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            iconst_4
            idiv
            istore 12 /* count */
        start local 12 // int count
       135: .line 354
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* gencount */
        start local 13 // int gencount
       136: .line 355
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 14 /* modcount */
        start local 14 // int modcount
       137: .line 356
            goto 139
       138: .line 357
      StackMap locals: int int int
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       139: .line 356
      StackMap locals:
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 13 /* gencount */
            if_icmplt 138
       140: .line 358
            goto 142
       141: .line 359
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       142: .line 358
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 14 /* modcount */
            if_icmplt 141
       143: .line 360
            iinc 12 /* count */ -1
        end local 14 // int modcount
        end local 13 // int gencount
       144: .line 363
            aload 7 /* instruments_bagNdx */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 13 /* offset */
        start local 13 // int offset
       145: .line 365
            iconst_0
            istore 14 /* i */
        start local 14 // int i
       146: goto 159
       147: .line 366
      StackMap locals:
      StackMap stack:
            iload 12 /* count */
            ifne 149
       148: .line 367
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       149: .line 368
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 15 /* gencount */
        start local 15 // int gencount
       150: .line 369
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 16 /* modcount */
        start local 16 // int modcount
       151: .line 370
            goto 153
       152: .line 371
      StackMap locals: int int
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       153: .line 370
      StackMap locals:
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 15 /* gencount */
            if_icmplt 152
       154: .line 372
            goto 156
       155: .line 373
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       156: .line 372
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 16 /* modcount */
            if_icmplt 155
       157: .line 374
            iinc 12 /* count */ -1
        end local 16 // int modcount
        end local 15 // int gencount
       158: .line 365
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       159: iload 14 /* i */
            iload 13 /* offset */
            if_icmplt 147
        end local 14 // int i
       160: .line 377
            iconst_0
            istore 14 /* i */
        start local 14 // int i
       161: goto 182
       162: .line 378
      StackMap locals:
      StackMap stack:
            aload 7 /* instruments_bagNdx */
            iload 14 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 7 /* instruments_bagNdx */
            iload 14 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            isub
            istore 15 /* zone_count */
        start local 15 // int zone_count
       163: .line 379
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            iload 14 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 16 /* layer */
        start local 16 // com.sun.media.sound.SF2Layer layer
       164: .line 380
            iconst_0
            istore 17 /* ii */
        start local 17 // int ii
       165: goto 180
       166: .line 381
      StackMap locals: int com.sun.media.sound.SF2Layer int
      StackMap stack:
            iload 12 /* count */
            ifne 168
       167: .line 382
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       168: .line 383
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 18 /* gencount */
        start local 18 // int gencount
       169: .line 384
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 19 /* modcount */
        start local 19 // int modcount
       170: .line 385
            new com.sun.media.sound.SF2LayerRegion
            dup
            invokespecial com.sun.media.sound.SF2LayerRegion.<init>:()V
            astore 20 /* split */
        start local 20 // com.sun.media.sound.SF2LayerRegion split
       171: .line 386
            aload 16 /* layer */
            getfield com.sun.media.sound.SF2Layer.regions:Ljava/util/List;
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       172: .line 387
            goto 174
       173: .line 388
      StackMap locals: int int com.sun.media.sound.SF2LayerRegion
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       174: .line 387
      StackMap locals:
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 18 /* gencount */
            if_icmplt 173
       175: .line 389
            goto 177
       176: .line 390
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       177: .line 389
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 19 /* modcount */
            if_icmplt 176
       178: .line 391
            iinc 12 /* count */ -1
        end local 20 // com.sun.media.sound.SF2LayerRegion split
        end local 19 // int modcount
        end local 18 // int gencount
       179: .line 380
            iinc 17 /* ii */ 1
      StackMap locals:
      StackMap stack:
       180: iload 17 /* ii */
            iload 15 /* zone_count */
            if_icmplt 166
        end local 17 // int ii
        end local 16 // com.sun.media.sound.SF2Layer layer
        end local 15 // int zone_count
       181: .line 377
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       182: iload 14 /* i */
            aload 7 /* instruments_bagNdx */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 162
        end local 14 // int i
        end local 13 // int offset
        end local 12 // int count
       183: .line 395
            goto 238
      StackMap locals:
      StackMap stack:
       184: aload 11 /* format */
            ldc "imod"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 199
       185: .line 397
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       186: goto 197
       187: .line 398
      StackMap locals: int
      StackMap stack:
            new com.sun.media.sound.SF2Modulator
            dup
            invokespecial com.sun.media.sound.SF2Modulator.<init>:()V
            astore 13 /* modulator */
        start local 13 // com.sun.media.sound.SF2Modulator modulator
       188: .line 399
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.sourceOperator:I
       189: .line 400
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.destinationOperator:I
       190: .line 401
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            putfield com.sun.media.sound.SF2Modulator.amount:S
       191: .line 402
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.amountSourceOperator:I
       192: .line 403
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.transportOperator:I
       193: .line 404
            aload 8 /* instruments_splits_gen */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2LayerRegion
            astore 14 /* split */
        start local 14 // com.sun.media.sound.SF2LayerRegion split
       194: .line 405
            aload 14 /* split */
            ifnull 196
       195: .line 406
            aload 14 /* split */
            getfield com.sun.media.sound.SF2LayerRegion.modulators:Ljava/util/List;
            aload 13 /* modulator */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // com.sun.media.sound.SF2LayerRegion split
        end local 13 // com.sun.media.sound.SF2Modulator modulator
       196: .line 397
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       197: iload 12 /* i */
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            if_icmplt 187
        end local 12 // int i
       198: .line 408
            goto 238
      StackMap locals:
      StackMap stack:
       199: aload 11 /* format */
            ldc "igen"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 210
       200: .line 410
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       201: goto 208
       202: .line 411
      StackMap locals: int
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* operator */
        start local 13 // int operator
       203: .line 412
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            istore 14 /* amount */
        start local 14 // short amount
       204: .line 413
            aload 8 /* instruments_splits_gen */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2LayerRegion
            astore 15 /* split */
        start local 15 // com.sun.media.sound.SF2LayerRegion split
       205: .line 414
            aload 15 /* split */
            ifnull 207
       206: .line 415
            aload 15 /* split */
            getfield com.sun.media.sound.SF2LayerRegion.generators:Ljava/util/Map;
            iload 13 /* operator */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 14 /* amount */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // com.sun.media.sound.SF2LayerRegion split
        end local 14 // short amount
        end local 13 // int operator
       207: .line 410
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       208: iload 12 /* i */
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            if_icmplt 202
        end local 12 // int i
       209: .line 417
            goto 238
      StackMap locals:
      StackMap stack:
       210: aload 11 /* format */
            ldc "shdr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 238
       211: .line 419
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 46
            irem
            ifeq 213
       212: .line 420
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       213: .line 421
      StackMap locals:
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 46
            idiv
            istore 12 /* count */
        start local 12 // int count
       214: .line 422
            iconst_0
            istore 13 /* i */
        start local 13 // int i
       215: goto 237
       216: .line 423
      StackMap locals: int int
      StackMap stack:
            new com.sun.media.sound.SF2Sample
            dup
            aload 0 /* this */
            invokespecial com.sun.media.sound.SF2Sample.<init>:(Ljavax/sound/midi/Soundbank;)V
            astore 14 /* sample */
        start local 14 // com.sun.media.sound.SF2Sample sample
       217: .line 424
            aload 14 /* sample */
            aload 10 /* chunk */
            bipush 20
            invokevirtual com.sun.media.sound.RIFFReader.readString:(I)Ljava/lang/String;
            putfield com.sun.media.sound.SF2Sample.name:Ljava/lang/String;
       218: .line 425
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lstore 15 /* start */
        start local 15 // long start
       219: .line 426
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lstore 17 /* end */
        start local 17 // long end
       220: .line 427
            aload 14 /* sample */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
            lload 15 /* start */
            ldc 2
            lmul
            lload 17 /* end */
            ldc 2
            lmul
            iconst_1
            invokevirtual com.sun.media.sound.ModelByteBuffer.subbuffer:(JJZ)Lcom/sun/media/sound/ModelByteBuffer;
            putfield com.sun.media.sound.SF2Sample.data:Lcom/sun/media/sound/ModelByteBuffer;
       221: .line 428
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
            ifnull 223
       222: .line 429
            aload 14 /* sample */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
            lload 15 /* start */
            lload 17 /* end */
            iconst_1
            invokevirtual com.sun.media.sound.ModelByteBuffer.subbuffer:(JJZ)Lcom/sun/media/sound/ModelByteBuffer;
            putfield com.sun.media.sound.SF2Sample.data24:Lcom/sun/media/sound/ModelByteBuffer;
       223: .line 437
      StackMap locals: com.sun.media.sound.SF2Sample long long
      StackMap stack:
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lload 15 /* start */
            lsub
            putfield com.sun.media.sound.SF2Sample.startLoop:J
       224: .line 438
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lload 15 /* start */
            lsub
            putfield com.sun.media.sound.SF2Sample.endLoop:J
       225: .line 439
            aload 14 /* sample */
            getfield com.sun.media.sound.SF2Sample.startLoop:J
            lconst_0
            lcmp
            ifge 227
       226: .line 440
            aload 14 /* sample */
            ldc -1
            putfield com.sun.media.sound.SF2Sample.startLoop:J
       227: .line 441
      StackMap locals:
      StackMap stack:
            aload 14 /* sample */
            getfield com.sun.media.sound.SF2Sample.endLoop:J
            lconst_0
            lcmp
            ifge 229
       228: .line 442
            aload 14 /* sample */
            ldc -1
            putfield com.sun.media.sound.SF2Sample.endLoop:J
       229: .line 443
      StackMap locals:
      StackMap stack:
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Sample.sampleRate:J
       230: .line 444
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedByte:()I
            putfield com.sun.media.sound.SF2Sample.originalPitch:I
       231: .line 445
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readByte:()B
            putfield com.sun.media.sound.SF2Sample.pitchCorrection:B
       232: .line 446
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Sample.sampleLink:I
       233: .line 447
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Sample.sampleType:I
       234: .line 448
            iload 13 /* i */
            iload 12 /* count */
            iconst_1
            isub
            if_icmpeq 236
       235: .line 449
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 14 /* sample */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // long end
        end local 15 // long start
        end local 14 // com.sun.media.sound.SF2Sample sample
       236: .line 422
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       237: iload 13 /* i */
            iload 12 /* count */
            if_icmplt 216
        end local 13 // int i
        end local 12 // int count
        end local 11 // java.lang.String format
        end local 10 // com.sun.media.sound.RIFFReader chunk
       238: .line 241
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFReader java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 13
       239: .line 454
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10 /* liter */
        start local 10 // java.util.Iterator liter
       240: .line 455
            goto 261
       241: .line 456
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 10 /* liter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 11 /* layer */
        start local 11 // com.sun.media.sound.SF2Layer layer
       242: .line 457
            aload 11 /* layer */
            getfield com.sun.media.sound.SF2Layer.regions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12 /* siter */
        start local 12 // java.util.Iterator siter
       243: .line 458
            aconst_null
            astore 13 /* globalsplit */
        start local 13 // com.sun.media.sound.SF2Region globalsplit
       244: .line 459
            goto 254
       245: .line 460
      StackMap locals: com.sun.media.sound.SF2Layer java.util.Iterator com.sun.media.sound.SF2Region
      StackMap stack:
            aload 12 /* siter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2LayerRegion
            astore 14 /* split */
        start local 14 // com.sun.media.sound.SF2LayerRegion split
       246: .line 461
            aload 14 /* split */
            getfield com.sun.media.sound.SF2LayerRegion.generators:Ljava/util/Map;
            bipush 53
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 253
       247: .line 462
            aload 14 /* split */
            getfield com.sun.media.sound.SF2LayerRegion.generators:Ljava/util/Map;
       248: .line 463
            bipush 53
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
       249: .line 462
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            istore 15 /* sampleid */
        start local 15 // int sampleid
       250: .line 464
            aload 14 /* split */
            getfield com.sun.media.sound.SF2LayerRegion.generators:Ljava/util/Map;
            bipush 53
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
       251: .line 465
            aload 14 /* split */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            iload 15 /* sampleid */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Sample
            putfield com.sun.media.sound.SF2LayerRegion.sample:Lcom/sun/media/sound/SF2Sample;
        end local 15 // int sampleid
       252: .line 466
            goto 254
       253: .line 467
      StackMap locals: com.sun.media.sound.SF2LayerRegion
      StackMap stack:
            aload 14 /* split */
            astore 13 /* globalsplit */
        end local 14 // com.sun.media.sound.SF2LayerRegion split
       254: .line 459
      StackMap locals:
      StackMap stack:
            aload 12 /* siter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 245
       255: .line 470
            aload 13 /* globalsplit */
            ifnull 261
       256: .line 471
            aload 11 /* layer */
            invokevirtual com.sun.media.sound.SF2Layer.getRegions:()Ljava/util/List;
            aload 13 /* globalsplit */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
       257: .line 472
            new com.sun.media.sound.SF2GlobalRegion
            dup
            invokespecial com.sun.media.sound.SF2GlobalRegion.<init>:()V
            astore 14 /* gsplit */
        start local 14 // com.sun.media.sound.SF2GlobalRegion gsplit
       258: .line 473
            aload 14 /* gsplit */
            aload 13 /* globalsplit */
            getfield com.sun.media.sound.SF2Region.generators:Ljava/util/Map;
            putfield com.sun.media.sound.SF2GlobalRegion.generators:Ljava/util/Map;
       259: .line 474
            aload 14 /* gsplit */
            aload 13 /* globalsplit */
            getfield com.sun.media.sound.SF2Region.modulators:Ljava/util/List;
            putfield com.sun.media.sound.SF2GlobalRegion.modulators:Ljava/util/List;
       260: .line 475
            aload 11 /* layer */
            aload 14 /* gsplit */
            invokevirtual com.sun.media.sound.SF2Layer.setGlobalZone:(Lcom/sun/media/sound/SF2GlobalRegion;)V
        end local 14 // com.sun.media.sound.SF2GlobalRegion gsplit
        end local 13 // com.sun.media.sound.SF2Region globalsplit
        end local 12 // java.util.Iterator siter
        end local 11 // com.sun.media.sound.SF2Layer layer
       261: .line 455
      StackMap locals:
      StackMap stack:
            aload 10 /* liter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 241
       262: .line 480
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11 /* iiter */
        start local 11 // java.util.Iterator iiter
       263: .line 481
            goto 284
       264: .line 482
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 11 /* iiter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 12 /* instrument */
        start local 12 // com.sun.media.sound.SF2Instrument instrument
       265: .line 483
            aload 12 /* instrument */
            getfield com.sun.media.sound.SF2Instrument.regions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13 /* siter */
        start local 13 // java.util.Iterator siter
       266: .line 484
            aconst_null
            astore 14 /* globalsplit */
        start local 14 // com.sun.media.sound.SF2Region globalsplit
       267: .line 485
            goto 277
       268: .line 486
      StackMap locals: com.sun.media.sound.SF2Instrument java.util.Iterator com.sun.media.sound.SF2Region
      StackMap stack:
            aload 13 /* siter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2InstrumentRegion
            astore 15 /* split */
        start local 15 // com.sun.media.sound.SF2InstrumentRegion split
       269: .line 487
            aload 15 /* split */
            getfield com.sun.media.sound.SF2InstrumentRegion.generators:Ljava/util/Map;
            bipush 41
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 276
       270: .line 488
            aload 15 /* split */
            getfield com.sun.media.sound.SF2InstrumentRegion.generators:Ljava/util/Map;
       271: .line 489
            bipush 41
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
       272: .line 488
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            istore 16 /* instrumentid */
        start local 16 // int instrumentid
       273: .line 490
            aload 15 /* split */
            getfield com.sun.media.sound.SF2InstrumentRegion.generators:Ljava/util/Map;
            bipush 41
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
       274: .line 491
            aload 15 /* split */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            iload 16 /* instrumentid */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            putfield com.sun.media.sound.SF2InstrumentRegion.layer:Lcom/sun/media/sound/SF2Layer;
        end local 16 // int instrumentid
       275: .line 492
            goto 277
       276: .line 493
      StackMap locals: com.sun.media.sound.SF2InstrumentRegion
      StackMap stack:
            aload 15 /* split */
            astore 14 /* globalsplit */
        end local 15 // com.sun.media.sound.SF2InstrumentRegion split
       277: .line 485
      StackMap locals:
      StackMap stack:
            aload 13 /* siter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 268
       278: .line 497
            aload 14 /* globalsplit */
            ifnull 284
       279: .line 498
            aload 12 /* instrument */
            invokevirtual com.sun.media.sound.SF2Instrument.getRegions:()Ljava/util/List;
            aload 14 /* globalsplit */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
       280: .line 499
            new com.sun.media.sound.SF2GlobalRegion
            dup
            invokespecial com.sun.media.sound.SF2GlobalRegion.<init>:()V
            astore 15 /* gsplit */
        start local 15 // com.sun.media.sound.SF2GlobalRegion gsplit
       281: .line 500
            aload 15 /* gsplit */
            aload 14 /* globalsplit */
            getfield com.sun.media.sound.SF2Region.generators:Ljava/util/Map;
            putfield com.sun.media.sound.SF2GlobalRegion.generators:Ljava/util/Map;
       282: .line 501
            aload 15 /* gsplit */
            aload 14 /* globalsplit */
            getfield com.sun.media.sound.SF2Region.modulators:Ljava/util/List;
            putfield com.sun.media.sound.SF2GlobalRegion.modulators:Ljava/util/List;
       283: .line 502
            aload 12 /* instrument */
            aload 15 /* gsplit */
            invokevirtual com.sun.media.sound.SF2Instrument.setGlobalZone:(Lcom/sun/media/sound/SF2GlobalRegion;)V
        end local 15 // com.sun.media.sound.SF2GlobalRegion gsplit
        end local 14 // com.sun.media.sound.SF2Region globalsplit
        end local 13 // java.util.Iterator siter
        end local 12 // com.sun.media.sound.SF2Instrument instrument
       284: .line 481
      StackMap locals:
      StackMap stack:
            aload 11 /* iiter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 264
       285: .line 506
            return
        end local 11 // java.util.Iterator iiter
        end local 10 // java.util.Iterator liter
        end local 9 // java.util.List instruments_splits_mod
        end local 8 // java.util.List instruments_splits_gen
        end local 7 // java.util.List instruments_bagNdx
        end local 6 // java.util.List instruments
        end local 5 // java.util.List presets_splits_mod
        end local 4 // java.util.List presets_splits_gen
        end local 3 // java.util.List presets_bagNdx
        end local 2 // java.util.List presets
        end local 1 // com.sun.media.sound.RIFFReader riff
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  286     0                    this  Lcom/sun/media/sound/SF2Soundbank;
            0  286     1                    riff  Lcom/sun/media/sound/RIFFReader;
            1  286     2                 presets  Ljava/util/List<Lcom/sun/media/sound/SF2Instrument;>;
            2  286     3          presets_bagNdx  Ljava/util/List<Ljava/lang/Integer;>;
            4  286     4      presets_splits_gen  Ljava/util/List<Lcom/sun/media/sound/SF2InstrumentRegion;>;
            6  286     5      presets_splits_mod  Ljava/util/List<Lcom/sun/media/sound/SF2InstrumentRegion;>;
            7  286     6             instruments  Ljava/util/List<Lcom/sun/media/sound/SF2Layer;>;
            8  286     7      instruments_bagNdx  Ljava/util/List<Ljava/lang/Integer;>;
           10  286     8  instruments_splits_gen  Ljava/util/List<Lcom/sun/media/sound/SF2LayerRegion;>;
           12  286     9  instruments_splits_mod  Ljava/util/List<Lcom/sun/media/sound/SF2LayerRegion;>;
           14  238    10                   chunk  Lcom/sun/media/sound/RIFFReader;
           15  238    11                  format  Ljava/lang/String;
           19   34    12                   count  I
           20   34    13                       i  I
           22   32    14                  preset  Lcom/sun/media/sound/SF2Instrument;
           39   89    12                   count  I
           40   48    13                gencount  I
           41   48    14                modcount  I
           49   89    13                  offset  I
           50   64    14                       i  I
           54   62    15                gencount  I
           55   62    16                modcount  I
           65   89    14                       i  I
           69   87    15              zone_count  I
           70   87    16                  preset  Lcom/sun/media/sound/SF2Instrument;
           71   87    17                      ii  I
           75   85    18                gencount  I
           76   85    19                modcount  I
           77   85    20                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
           92  104    12                       i  I
           94  102    13               modulator  Lcom/sun/media/sound/SF2Modulator;
          100  102    14                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
          107  115    12                       i  I
          109  113    13                operator  I
          110  113    14                  amount  S
          111  113    15                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
          120  130    12                   count  I
          121  130    13                       i  I
          123  128    14                   layer  Lcom/sun/media/sound/SF2Layer;
          135  183    12                   count  I
          136  144    13                gencount  I
          137  144    14                modcount  I
          145  183    13                  offset  I
          146  160    14                       i  I
          150  158    15                gencount  I
          151  158    16                modcount  I
          161  183    14                       i  I
          163  181    15              zone_count  I
          164  181    16                   layer  Lcom/sun/media/sound/SF2Layer;
          165  181    17                      ii  I
          169  179    18                gencount  I
          170  179    19                modcount  I
          171  179    20                   split  Lcom/sun/media/sound/SF2LayerRegion;
          186  198    12                       i  I
          188  196    13               modulator  Lcom/sun/media/sound/SF2Modulator;
          194  196    14                   split  Lcom/sun/media/sound/SF2LayerRegion;
          201  209    12                       i  I
          203  207    13                operator  I
          204  207    14                  amount  S
          205  207    15                   split  Lcom/sun/media/sound/SF2LayerRegion;
          214  238    12                   count  I
          215  238    13                       i  I
          217  236    14                  sample  Lcom/sun/media/sound/SF2Sample;
          219  236    15                   start  J
          220  236    17                     end  J
          240  286    10                   liter  Ljava/util/Iterator<Lcom/sun/media/sound/SF2Layer;>;
          242  261    11                   layer  Lcom/sun/media/sound/SF2Layer;
          243  261    12                   siter  Ljava/util/Iterator<Lcom/sun/media/sound/SF2LayerRegion;>;
          244  261    13             globalsplit  Lcom/sun/media/sound/SF2Region;
          246  254    14                   split  Lcom/sun/media/sound/SF2LayerRegion;
          250  252    15                sampleid  I
          258  261    14                  gsplit  Lcom/sun/media/sound/SF2GlobalRegion;
          263  286    11                   iiter  Ljava/util/Iterator<Lcom/sun/media/sound/SF2Instrument;>;
          265  284    12              instrument  Lcom/sun/media/sound/SF2Instrument;
          266  284    13                   siter  Ljava/util/Iterator<Lcom/sun/media/sound/SF2InstrumentRegion;>;
          267  284    14             globalsplit  Lcom/sun/media/sound/SF2Region;
          269  277    15                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
          273  275    16            instrumentid  I
          281  284    15                  gsplit  Lcom/sun/media/sound/SF2GlobalRegion;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      riff  

  public void save(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String name
         0: .line 509
            aload 0 /* this */
            new com.sun.media.sound.RIFFWriter
            dup
            aload 1 /* name */
            ldc "sfbk"
            invokespecial com.sun.media.sound.RIFFWriter.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual com.sun.media.sound.SF2Soundbank.writeSoundbank:(Lcom/sun/media/sound/RIFFWriter;)V
         1: .line 510
            return
        end local 1 // java.lang.String name
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public void save(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.io.File file
         0: .line 513
            aload 0 /* this */
            new com.sun.media.sound.RIFFWriter
            dup
            aload 1 /* file */
            ldc "sfbk"
            invokespecial com.sun.media.sound.RIFFWriter.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual com.sun.media.sound.SF2Soundbank.writeSoundbank:(Lcom/sun/media/sound/RIFFWriter;)V
         1: .line 514
            return
        end local 1 // java.io.File file
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public void save(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.io.OutputStream out
         0: .line 517
            aload 0 /* this */
            new com.sun.media.sound.RIFFWriter
            dup
            aload 1 /* out */
            ldc "sfbk"
            invokespecial com.sun.media.sound.RIFFWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            invokevirtual com.sun.media.sound.SF2Soundbank.writeSoundbank:(Lcom/sun/media/sound/RIFFWriter;)V
         1: .line 518
            return
        end local 1 // java.io.OutputStream out
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  private void writeSoundbank(com.sun.media.sound.RIFFWriter);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
         0: .line 521
            aload 0 /* this */
            aload 1 /* writer */
            ldc "INFO"
            invokevirtual com.sun.media.sound.RIFFWriter.writeList:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfo:(Lcom/sun/media/sound/RIFFWriter;)V
         1: .line 522
            aload 0 /* this */
            aload 1 /* writer */
            ldc "sdta"
            invokevirtual com.sun.media.sound.RIFFWriter.writeList:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeSdtaChunk:(Lcom/sun/media/sound/RIFFWriter;)V
         2: .line 523
            aload 0 /* this */
            aload 1 /* writer */
            ldc "pdta"
            invokevirtual com.sun.media.sound.RIFFWriter.writeList:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            invokevirtual com.sun.media.sound.SF2Soundbank.writePdtaChunk:(Lcom/sun/media/sound/RIFFWriter;)V
         3: .line 524
            aload 1 /* writer */
            invokevirtual com.sun.media.sound.RIFFWriter.close:()V
         4: .line 525
            return
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/media/sound/SF2Soundbank;
            0    5     1  writer  Lcom/sun/media/sound/RIFFWriter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      writer  

  private void writeInfoStringChunk(com.sun.media.sound.RIFFWriter, java.lang.String, java.lang.String);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
        start local 2 // java.lang.String name
        start local 3 // java.lang.String value
         0: .line 529
            aload 3 /* value */
            ifnonnull 2
         1: .line 530
            return
         2: .line 531
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            aload 2 /* name */
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 4 /* chunk */
        start local 4 // com.sun.media.sound.RIFFWriter chunk
         3: .line 532
            aload 4 /* chunk */
            aload 3 /* value */
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;)V
         4: .line 533
            aload 3 /* value */
            ldc "ascii"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            arraylength
            istore 5 /* len */
        start local 5 // int len
         5: .line 534
            aload 4 /* chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.write:(I)V
         6: .line 535
            iinc 5 /* len */ 1
         7: .line 536
            iload 5 /* len */
            iconst_2
            irem
            ifeq 9
         8: .line 537
            aload 4 /* chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.write:(I)V
         9: .line 538
      StackMap locals: com.sun.media.sound.RIFFWriter int
      StackMap stack:
            return
        end local 5 // int len
        end local 4 // com.sun.media.sound.RIFFWriter chunk
        end local 3 // java.lang.String value
        end local 2 // java.lang.String name
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/media/sound/SF2Soundbank;
            0   10     1  writer  Lcom/sun/media/sound/RIFFWriter;
            0   10     2    name  Ljava/lang/String;
            0   10     3   value  Ljava/lang/String;
            3   10     4   chunk  Lcom/sun/media/sound/RIFFWriter;
            5   10     5     len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      writer  
      name    
      value   

  private void writeInfo(com.sun.media.sound.RIFFWriter);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
         0: .line 541
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
            ifnonnull 2
         1: .line 542
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         2: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
            ifnonnull 4
         3: .line 544
            aload 0 /* this */
            ldc ""
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         4: .line 546
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            ldc "ifil"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 2 /* ifil_chunk */
        start local 2 // com.sun.media.sound.RIFFWriter ifil_chunk
         5: .line 547
            aload 2 /* ifil_chunk */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.major:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         6: .line 548
            aload 2 /* ifil_chunk */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.minor:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         7: .line 549
            aload 0 /* this */
            aload 1 /* writer */
            ldc "isng"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 550
            aload 0 /* this */
            aload 1 /* writer */
            ldc "INAM"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 551
            aload 0 /* this */
            aload 1 /* writer */
            ldc "irom"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 552
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
            iconst_m1
            if_icmpeq 14
        11: .line 553
            aload 1 /* writer */
            ldc "iver"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 3 /* iver_chunk */
        start local 3 // com.sun.media.sound.RIFFWriter iver_chunk
        12: .line 554
            aload 3 /* iver_chunk */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        13: .line 555
            aload 3 /* iver_chunk */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        end local 3 // com.sun.media.sound.RIFFWriter iver_chunk
        14: .line 557
      StackMap locals: com.sun.media.sound.RIFFWriter
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writer */
            ldc "ICRD"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 558
            aload 0 /* this */
            aload 1 /* writer */
            ldc "IENG"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        16: .line 559
            aload 0 /* this */
            aload 1 /* writer */
            ldc "IPRD"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        17: .line 560
            aload 0 /* this */
            aload 1 /* writer */
            ldc "ICOP"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 561
            aload 0 /* this */
            aload 1 /* writer */
            ldc "ICMT"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 562
            aload 0 /* this */
            aload 1 /* writer */
            ldc "ISFT"
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeInfoStringChunk:(Lcom/sun/media/sound/RIFFWriter;Ljava/lang/String;Ljava/lang/String;)V
        20: .line 564
            aload 1 /* writer */
            invokevirtual com.sun.media.sound.RIFFWriter.close:()V
        21: .line 565
            return
        end local 2 // com.sun.media.sound.RIFFWriter ifil_chunk
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lcom/sun/media/sound/SF2Soundbank;
            0   22     1      writer  Lcom/sun/media/sound/RIFFWriter;
            5   22     2  ifil_chunk  Lcom/sun/media/sound/RIFFWriter;
           12   14     3  iver_chunk  Lcom/sun/media/sound/RIFFWriter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      writer  

  private void writeSdtaChunk(com.sun.media.sound.RIFFWriter);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
         0: .line 569
            bipush 32
            newarray 8
            astore 2 /* pad */
        start local 2 // byte[] pad
         1: .line 571
            aload 1 /* writer */
            ldc "smpl"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 3 /* smpl_chunk */
        start local 3 // com.sun.media.sound.RIFFWriter smpl_chunk
         2: .line 572
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter byte[] com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Sample
            astore 4 /* sample */
        start local 4 // com.sun.media.sound.SF2Sample sample
         4: .line 573
            aload 4 /* sample */
            invokevirtual com.sun.media.sound.SF2Sample.getDataBuffer:()Lcom/sun/media/sound/ModelByteBuffer;
            astore 6 /* data */
        start local 6 // com.sun.media.sound.ModelByteBuffer data
         5: .line 574
            aload 6 /* data */
            aload 3 /* smpl_chunk */
            invokevirtual com.sun.media.sound.ModelByteBuffer.writeTo:(Ljava/io/OutputStream;)V
         6: .line 580
            aload 3 /* smpl_chunk */
            aload 2 /* pad */
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
         7: .line 581
            aload 3 /* smpl_chunk */
            aload 2 /* pad */
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
        end local 6 // com.sun.media.sound.ModelByteBuffer data
        end local 4 // com.sun.media.sound.SF2Sample sample
         8: .line 572
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 583
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.major:I
            iconst_2
            if_icmpge 11
        10: .line 584
            return
        11: .line 585
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter byte[] com.sun.media.sound.RIFFWriter
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.major:I
            iconst_2
            if_icmpne 13
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.minor:I
            iconst_4
            if_icmpge 13
        12: .line 586
            return
        13: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter byte[] com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Sample
            astore 4 /* sample */
        start local 4 // com.sun.media.sound.SF2Sample sample
        15: .line 590
            aload 4 /* sample */
            invokevirtual com.sun.media.sound.SF2Sample.getData24Buffer:()Lcom/sun/media/sound/ModelByteBuffer;
            astore 6 /* data24 */
        start local 6 // com.sun.media.sound.ModelByteBuffer data24
        16: .line 591
            aload 6 /* data24 */
            ifnonnull 18
        17: .line 592
            return
        end local 6 // com.sun.media.sound.ModelByteBuffer data24
        end local 4 // com.sun.media.sound.SF2Sample sample
        18: .line 589
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 595
            aload 1 /* writer */
            ldc "sm24"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 4 /* sm24_chunk */
        start local 4 // com.sun.media.sound.RIFFWriter sm24_chunk
        20: .line 596
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 25
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter byte[] com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
        21: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Sample
            astore 5 /* sample */
        start local 5 // com.sun.media.sound.SF2Sample sample
        22: .line 597
            aload 5 /* sample */
            invokevirtual com.sun.media.sound.SF2Sample.getData24Buffer:()Lcom/sun/media/sound/ModelByteBuffer;
            astore 7 /* data */
        start local 7 // com.sun.media.sound.ModelByteBuffer data
        23: .line 598
            aload 7 /* data */
            aload 4 /* sm24_chunk */
            invokevirtual com.sun.media.sound.ModelByteBuffer.writeTo:(Ljava/io/OutputStream;)V
        24: .line 603
            aload 3 /* smpl_chunk */
            aload 2 /* pad */
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
        end local 7 // com.sun.media.sound.ModelByteBuffer data
        end local 5 // com.sun.media.sound.SF2Sample sample
        25: .line 596
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        26: .line 605
            return
        end local 4 // com.sun.media.sound.RIFFWriter sm24_chunk
        end local 3 // com.sun.media.sound.RIFFWriter smpl_chunk
        end local 2 // byte[] pad
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lcom/sun/media/sound/SF2Soundbank;
            0   27     1      writer  Lcom/sun/media/sound/RIFFWriter;
            1   27     2         pad  [B
            2   27     3  smpl_chunk  Lcom/sun/media/sound/RIFFWriter;
            4    8     4      sample  Lcom/sun/media/sound/SF2Sample;
            5    8     6        data  Lcom/sun/media/sound/ModelByteBuffer;
           15   18     4      sample  Lcom/sun/media/sound/SF2Sample;
           16   18     6      data24  Lcom/sun/media/sound/ModelByteBuffer;
           20   27     4  sm24_chunk  Lcom/sun/media/sound/RIFFWriter;
           22   25     5      sample  Lcom/sun/media/sound/SF2Sample;
           23   25     7        data  Lcom/sun/media/sound/ModelByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      writer  

  private void writeModulators(com.sun.media.sound.RIFFWriter, java.util.List<com.sun.media.sound.SF2Modulator>);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
        start local 2 // java.util.List modulators
         0: .line 609
            aload 2 /* modulators */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Modulator
            astore 3 /* modulator */
        start local 3 // com.sun.media.sound.SF2Modulator modulator
         2: .line 610
            aload 1 /* writer */
            aload 3 /* modulator */
            getfield com.sun.media.sound.SF2Modulator.sourceOperator:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         3: .line 611
            aload 1 /* writer */
            aload 3 /* modulator */
            getfield com.sun.media.sound.SF2Modulator.destinationOperator:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         4: .line 612
            aload 1 /* writer */
            aload 3 /* modulator */
            getfield com.sun.media.sound.SF2Modulator.amount:S
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
         5: .line 613
            aload 1 /* writer */
            aload 3 /* modulator */
            getfield com.sun.media.sound.SF2Modulator.amountSourceOperator:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         6: .line 614
            aload 1 /* writer */
            aload 3 /* modulator */
            getfield com.sun.media.sound.SF2Modulator.transportOperator:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        end local 3 // com.sun.media.sound.SF2Modulator modulator
         7: .line 609
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 616
            return
        end local 2 // java.util.List modulators
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/media/sound/SF2Soundbank;
            0    9     1      writer  Lcom/sun/media/sound/RIFFWriter;
            0    9     2  modulators  Ljava/util/List<Lcom/sun/media/sound/SF2Modulator;>;
            2    7     3   modulator  Lcom/sun/media/sound/SF2Modulator;
    Exceptions:
      throws java.io.IOException
    Signature: (Lcom/sun/media/sound/RIFFWriter;Ljava/util/List<Lcom/sun/media/sound/SF2Modulator;>;)V
    MethodParameters:
            Name  Flags
      writer      
      modulators  

  private void writeGenerators(com.sun.media.sound.RIFFWriter, java.util.Map<java.lang.Integer, java.lang.Short>);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
        start local 2 // java.util.Map generators
         0: .line 620
            aload 2 /* generators */
            bipush 43
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Short
            astore 3 /* keyrange */
        start local 3 // java.lang.Short keyrange
         1: .line 621
            aload 2 /* generators */
            bipush 44
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Short
            astore 4 /* velrange */
        start local 4 // java.lang.Short velrange
         2: .line 622
            aload 3 /* keyrange */
            ifnull 5
         3: .line 623
            aload 1 /* writer */
            bipush 43
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         4: .line 624
            aload 1 /* writer */
            aload 3 /* keyrange */
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
         5: .line 626
      StackMap locals: java.lang.Short java.lang.Short
      StackMap stack:
            aload 4 /* velrange */
            ifnull 8
         6: .line 627
            aload 1 /* writer */
            bipush 44
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         7: .line 628
            aload 1 /* writer */
            aload 4 /* velrange */
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
         8: .line 630
      StackMap locals:
      StackMap stack:
            aload 2 /* generators */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter java.util.Map java.lang.Short java.lang.Short top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* generator */
        start local 5 // java.util.Map$Entry generator
        10: .line 631
            aload 5 /* generator */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            bipush 43
            if_icmpne 12
        11: .line 632
            goto 16
        12: .line 633
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter java.util.Map java.lang.Short java.lang.Short java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 5 /* generator */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            bipush 44
            if_icmpne 14
        13: .line 634
            goto 16
        14: .line 635
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            aload 5 /* generator */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        15: .line 636
            aload 1 /* writer */
            aload 5 /* generator */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
        end local 5 // java.util.Map$Entry generator
        16: .line 630
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter java.util.Map java.lang.Short java.lang.Short top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 638
            return
        end local 4 // java.lang.Short velrange
        end local 3 // java.lang.Short keyrange
        end local 2 // java.util.Map generators
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lcom/sun/media/sound/SF2Soundbank;
            0   18     1      writer  Lcom/sun/media/sound/RIFFWriter;
            0   18     2  generators  Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Short;>;
            1   18     3    keyrange  Ljava/lang/Short;
            2   18     4    velrange  Ljava/lang/Short;
           10   16     5   generator  Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Short;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Short;>;)V
    MethodParameters:
            Name  Flags
      writer      
      generators  

  private void writePdtaChunk(com.sun.media.sound.RIFFWriter);
    descriptor: (Lcom/sun/media/sound/RIFFWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=29, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.RIFFWriter writer
         0: .line 642
            aload 1 /* writer */
            ldc "phdr"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 2 /* phdr_chunk */
        start local 2 // com.sun.media.sound.RIFFWriter phdr_chunk
         1: .line 643
            iconst_0
            istore 3 /* phdr_zone_count */
        start local 3 // int phdr_zone_count
         2: .line 644
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 4 /* preset */
        start local 4 // com.sun.media.sound.SF2Instrument preset
         4: .line 645
            aload 2 /* phdr_chunk */
            aload 4 /* preset */
            getfield com.sun.media.sound.SF2Instrument.name:Ljava/lang/String;
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
         5: .line 646
            aload 2 /* phdr_chunk */
            aload 4 /* preset */
            getfield com.sun.media.sound.SF2Instrument.preset:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         6: .line 647
            aload 2 /* phdr_chunk */
            aload 4 /* preset */
            getfield com.sun.media.sound.SF2Instrument.bank:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         7: .line 648
            aload 2 /* phdr_chunk */
            iload 3 /* phdr_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         8: .line 649
            aload 4 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 10
         9: .line 650
            iinc 3 /* phdr_zone_count */ 1
        10: .line 651
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.SF2Instrument java.util.Iterator
      StackMap stack:
            iload 3 /* phdr_zone_count */
            aload 4 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 3 /* phdr_zone_count */
        11: .line 652
            aload 2 /* phdr_chunk */
            aload 4 /* preset */
            getfield com.sun.media.sound.SF2Instrument.library:J
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        12: .line 653
            aload 2 /* phdr_chunk */
            aload 4 /* preset */
            getfield com.sun.media.sound.SF2Instrument.genre:J
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        13: .line 654
            aload 2 /* phdr_chunk */
            aload 4 /* preset */
            getfield com.sun.media.sound.SF2Instrument.morphology:J
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        end local 4 // com.sun.media.sound.SF2Instrument preset
        14: .line 644
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        15: .line 656
            aload 2 /* phdr_chunk */
            ldc "EOP"
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
        16: .line 657
            aload 2 /* phdr_chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        17: .line 658
            aload 2 /* phdr_chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        18: .line 659
            aload 2 /* phdr_chunk */
            iload 3 /* phdr_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        19: .line 660
            aload 2 /* phdr_chunk */
            lconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        20: .line 661
            aload 2 /* phdr_chunk */
            lconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        21: .line 662
            aload 2 /* phdr_chunk */
            lconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        22: .line 665
            aload 1 /* writer */
            ldc "pbag"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 4 /* pbag_chunk */
        start local 4 // com.sun.media.sound.RIFFWriter pbag_chunk
        23: .line 666
            iconst_0
            istore 5 /* pbag_gencount */
        start local 5 // int pbag_gencount
        24: .line 667
            iconst_0
            istore 6 /* pbag_modcount */
        start local 6 // int pbag_modcount
        25: .line 668
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 41
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int top java.util.Iterator
      StackMap stack:
        26: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 7 /* preset */
        start local 7 // com.sun.media.sound.SF2Instrument preset
        27: .line 669
            aload 7 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 32
        28: .line 670
            aload 4 /* pbag_chunk */
            iload 5 /* pbag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        29: .line 671
            aload 4 /* pbag_chunk */
            iload 6 /* pbag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        30: .line 672
            iload 5 /* pbag_gencount */
            aload 7 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getGenerators:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
            istore 5 /* pbag_gencount */
        31: .line 673
            iload 6 /* pbag_modcount */
            aload 7 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getModulators:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 6 /* pbag_modcount */
        32: .line 675
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Instrument java.util.Iterator
      StackMap stack:
            aload 7 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 40
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Instrument java.util.Iterator top java.util.Iterator
      StackMap stack:
        33: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2InstrumentRegion
            astore 9 /* region */
        start local 9 // com.sun.media.sound.SF2InstrumentRegion region
        34: .line 676
            aload 4 /* pbag_chunk */
            iload 5 /* pbag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        35: .line 677
            aload 4 /* pbag_chunk */
            iload 6 /* pbag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        36: .line 678
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 9 /* region */
            getfield com.sun.media.sound.SF2InstrumentRegion.layer:Lcom/sun/media/sound/SF2Layer;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iconst_m1
            if_icmpeq 38
        37: .line 680
            iinc 5 /* pbag_gencount */ 1
        38: .line 682
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Instrument java.util.Iterator com.sun.media.sound.SF2InstrumentRegion java.util.Iterator
      StackMap stack:
            iload 5 /* pbag_gencount */
            aload 9 /* region */
            invokevirtual com.sun.media.sound.SF2InstrumentRegion.getGenerators:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
            istore 5 /* pbag_gencount */
        39: .line 683
            iload 6 /* pbag_modcount */
            aload 9 /* region */
            invokevirtual com.sun.media.sound.SF2InstrumentRegion.getModulators:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 6 /* pbag_modcount */
        end local 9 // com.sun.media.sound.SF2InstrumentRegion region
        40: .line 675
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Instrument java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        end local 7 // com.sun.media.sound.SF2Instrument preset
        41: .line 668
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        42: .line 687
            aload 4 /* pbag_chunk */
            iload 5 /* pbag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        43: .line 688
            aload 4 /* pbag_chunk */
            iload 6 /* pbag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        44: .line 690
            aload 1 /* writer */
            ldc "pmod"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 7 /* pmod_chunk */
        start local 7 // com.sun.media.sound.RIFFWriter pmod_chunk
        45: .line 691
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 55
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
        46: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 8 /* preset */
        start local 8 // com.sun.media.sound.SF2Instrument preset
        47: .line 692
            aload 8 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 51
        48: .line 693
            aload 0 /* this */
            aload 7 /* pmod_chunk */
        49: .line 694
            aload 8 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getModulators:()Ljava/util/List;
        50: .line 693
            invokevirtual com.sun.media.sound.SF2Soundbank.writeModulators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
        51: .line 696
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Instrument java.util.Iterator
      StackMap stack:
            aload 8 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 54
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Instrument java.util.Iterator top java.util.Iterator
      StackMap stack:
        52: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2InstrumentRegion
            astore 10 /* region */
        start local 10 // com.sun.media.sound.SF2InstrumentRegion region
        53: .line 697
            aload 0 /* this */
            aload 7 /* pmod_chunk */
            aload 10 /* region */
            invokevirtual com.sun.media.sound.SF2InstrumentRegion.getModulators:()Ljava/util/List;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeModulators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
        end local 10 // com.sun.media.sound.SF2InstrumentRegion region
        54: .line 696
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 52
        end local 8 // com.sun.media.sound.SF2Instrument preset
        55: .line 691
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        56: .line 699
            aload 7 /* pmod_chunk */
            bipush 10
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
        57: .line 701
            aload 1 /* writer */
            ldc "pgen"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 8 /* pgen_chunk */
        start local 8 // com.sun.media.sound.RIFFWriter pgen_chunk
        58: .line 702
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 72
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
        59: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 9 /* preset */
        start local 9 // com.sun.media.sound.SF2Instrument preset
        60: .line 703
            aload 9 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 64
        61: .line 704
            aload 0 /* this */
            aload 8 /* pgen_chunk */
        62: .line 705
            aload 9 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getGenerators:()Ljava/util/Map;
        63: .line 704
            invokevirtual com.sun.media.sound.SF2Soundbank.writeGenerators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
        64: .line 707
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Instrument java.util.Iterator
      StackMap stack:
            aload 9 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 71
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Instrument java.util.Iterator top java.util.Iterator
      StackMap stack:
        65: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2InstrumentRegion
            astore 11 /* region */
        start local 11 // com.sun.media.sound.SF2InstrumentRegion region
        66: .line 708
            aload 0 /* this */
            aload 8 /* pgen_chunk */
            aload 11 /* region */
            invokevirtual com.sun.media.sound.SF2InstrumentRegion.getGenerators:()Ljava/util/Map;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeGenerators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
        67: .line 709
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 11 /* region */
            getfield com.sun.media.sound.SF2InstrumentRegion.layer:Lcom/sun/media/sound/SF2Layer;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 13 /* ix */
        start local 13 // int ix
        68: .line 710
            iload 13 /* ix */
            iconst_m1
            if_icmpeq 71
        69: .line 711
            aload 8 /* pgen_chunk */
            bipush 41
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        70: .line 712
            aload 8 /* pgen_chunk */
            iload 13 /* ix */
            i2s
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
        end local 13 // int ix
        end local 11 // com.sun.media.sound.SF2InstrumentRegion region
        71: .line 707
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        end local 9 // com.sun.media.sound.SF2Instrument preset
        72: .line 702
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 59
        73: .line 716
            aload 8 /* pgen_chunk */
            iconst_4
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
        74: .line 718
            aload 1 /* writer */
            ldc "inst"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 9 /* inst_chunk */
        start local 9 // com.sun.media.sound.RIFFWriter inst_chunk
        75: .line 719
            iconst_0
            istore 10 /* inst_zone_count */
        start local 10 // int inst_zone_count
        76: .line 720
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 83
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int top java.util.Iterator
      StackMap stack:
        77: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 11 /* instrument */
        start local 11 // com.sun.media.sound.SF2Layer instrument
        78: .line 721
            aload 9 /* inst_chunk */
            aload 11 /* instrument */
            getfield com.sun.media.sound.SF2Layer.name:Ljava/lang/String;
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
        79: .line 722
            aload 9 /* inst_chunk */
            iload 10 /* inst_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        80: .line 723
            aload 11 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 82
        81: .line 724
            iinc 10 /* inst_zone_count */ 1
        82: .line 725
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.SF2Layer java.util.Iterator
      StackMap stack:
            iload 10 /* inst_zone_count */
            aload 11 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 10 /* inst_zone_count */
        end local 11 // com.sun.media.sound.SF2Layer instrument
        83: .line 720
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 77
        84: .line 727
            aload 9 /* inst_chunk */
            ldc "EOI"
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
        85: .line 728
            aload 9 /* inst_chunk */
            iload 10 /* inst_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        86: .line 731
            aload 1 /* writer */
            ldc "ibag"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 11 /* ibag_chunk */
        start local 11 // com.sun.media.sound.RIFFWriter ibag_chunk
        87: .line 732
            iconst_0
            istore 12 /* ibag_gencount */
        start local 12 // int ibag_gencount
        88: .line 733
            iconst_0
            istore 13 /* ibag_modcount */
        start local 13 // int ibag_modcount
        89: .line 734
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 107
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int top java.util.Iterator
      StackMap stack:
        90: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 14 /* instrument */
        start local 14 // com.sun.media.sound.SF2Layer instrument
        91: .line 735
            aload 14 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 98
        92: .line 736
            aload 11 /* ibag_chunk */
            iload 12 /* ibag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        93: .line 737
            aload 11 /* ibag_chunk */
            iload 13 /* ibag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        94: .line 738
            iload 12 /* ibag_gencount */
        95: .line 739
            aload 14 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getGenerators:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
            istore 12 /* ibag_gencount */
        96: .line 740
            iload 13 /* ibag_modcount */
        97: .line 741
            aload 14 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getModulators:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 13 /* ibag_modcount */
        98: .line 743
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Layer java.util.Iterator
      StackMap stack:
            aload 14 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 106
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Layer java.util.Iterator top java.util.Iterator
      StackMap stack:
        99: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2LayerRegion
            astore 16 /* region */
        start local 16 // com.sun.media.sound.SF2LayerRegion region
       100: .line 744
            aload 11 /* ibag_chunk */
            iload 12 /* ibag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       101: .line 745
            aload 11 /* ibag_chunk */
            iload 13 /* ibag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       102: .line 746
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 16 /* region */
            getfield com.sun.media.sound.SF2LayerRegion.sample:Lcom/sun/media/sound/SF2Sample;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iconst_m1
            if_icmpeq 104
       103: .line 748
            iinc 12 /* ibag_gencount */ 1
       104: .line 750
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Layer java.util.Iterator com.sun.media.sound.SF2LayerRegion java.util.Iterator
      StackMap stack:
            iload 12 /* ibag_gencount */
            aload 16 /* region */
            invokevirtual com.sun.media.sound.SF2LayerRegion.getGenerators:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
            istore 12 /* ibag_gencount */
       105: .line 751
            iload 13 /* ibag_modcount */
            aload 16 /* region */
            invokevirtual com.sun.media.sound.SF2LayerRegion.getModulators:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 13 /* ibag_modcount */
        end local 16 // com.sun.media.sound.SF2LayerRegion region
       106: .line 743
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.SF2Layer java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 99
        end local 14 // com.sun.media.sound.SF2Layer instrument
       107: .line 734
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 90
       108: .line 755
            aload 11 /* ibag_chunk */
            iload 12 /* ibag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       109: .line 756
            aload 11 /* ibag_chunk */
            iload 13 /* ibag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       110: .line 759
            aload 1 /* writer */
            ldc "imod"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 14 /* imod_chunk */
        start local 14 // com.sun.media.sound.RIFFWriter imod_chunk
       111: .line 760
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 121
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
       112: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 15 /* instrument */
        start local 15 // com.sun.media.sound.SF2Layer instrument
       113: .line 761
            aload 15 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 117
       114: .line 762
            aload 0 /* this */
            aload 14 /* imod_chunk */
       115: .line 763
            aload 15 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getModulators:()Ljava/util/List;
       116: .line 762
            invokevirtual com.sun.media.sound.SF2Soundbank.writeModulators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
       117: .line 765
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Layer java.util.Iterator
      StackMap stack:
            aload 15 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 120
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Layer java.util.Iterator top java.util.Iterator
      StackMap stack:
       118: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2LayerRegion
            astore 17 /* region */
        start local 17 // com.sun.media.sound.SF2LayerRegion region
       119: .line 766
            aload 0 /* this */
            aload 14 /* imod_chunk */
            aload 17 /* region */
            invokevirtual com.sun.media.sound.SF2LayerRegion.getModulators:()Ljava/util/List;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeModulators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
        end local 17 // com.sun.media.sound.SF2LayerRegion region
       120: .line 765
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 118
        end local 15 // com.sun.media.sound.SF2Layer instrument
       121: .line 760
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 112
       122: .line 768
            aload 14 /* imod_chunk */
            bipush 10
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
       123: .line 770
            aload 1 /* writer */
            ldc "igen"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 15 /* igen_chunk */
        start local 15 // com.sun.media.sound.RIFFWriter igen_chunk
       124: .line 771
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 138
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
       125: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 16 /* instrument */
        start local 16 // com.sun.media.sound.SF2Layer instrument
       126: .line 772
            aload 16 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 130
       127: .line 773
            aload 0 /* this */
            aload 15 /* igen_chunk */
       128: .line 774
            aload 16 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            invokevirtual com.sun.media.sound.SF2GlobalRegion.getGenerators:()Ljava/util/Map;
       129: .line 773
            invokevirtual com.sun.media.sound.SF2Soundbank.writeGenerators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
       130: .line 776
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Layer java.util.Iterator
      StackMap stack:
            aload 16 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getRegions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 19
            goto 137
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.SF2Layer java.util.Iterator top java.util.Iterator
      StackMap stack:
       131: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2LayerRegion
            astore 18 /* region */
        start local 18 // com.sun.media.sound.SF2LayerRegion region
       132: .line 777
            aload 0 /* this */
            aload 15 /* igen_chunk */
            aload 18 /* region */
            invokevirtual com.sun.media.sound.SF2LayerRegion.getGenerators:()Ljava/util/Map;
            invokevirtual com.sun.media.sound.SF2Soundbank.writeGenerators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
       133: .line 778
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 18 /* region */
            getfield com.sun.media.sound.SF2LayerRegion.sample:Lcom/sun/media/sound/SF2Sample;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 20 /* ix */
        start local 20 // int ix
       134: .line 779
            iload 20 /* ix */
            iconst_m1
            if_icmpeq 137
       135: .line 780
            aload 15 /* igen_chunk */
            bipush 53
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       136: .line 781
            aload 15 /* igen_chunk */
            iload 20 /* ix */
            i2s
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
        end local 20 // int ix
        end local 18 // com.sun.media.sound.SF2LayerRegion region
       137: .line 776
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 131
        end local 16 // com.sun.media.sound.SF2Layer instrument
       138: .line 771
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 125
       139: .line 785
            aload 15 /* igen_chunk */
            iconst_4
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
       140: .line 788
            aload 1 /* writer */
            ldc "shdr"
            invokevirtual com.sun.media.sound.RIFFWriter.writeChunk:(Ljava/lang/String;)Lcom/sun/media/sound/RIFFWriter;
            astore 16 /* shdr_chunk */
        start local 16 // com.sun.media.sound.RIFFWriter shdr_chunk
       141: .line 789
            lconst_0
            lstore 17 /* sample_pos */
        start local 17 // long sample_pos
       142: .line 790
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 164
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter long top java.util.Iterator
      StackMap stack:
       143: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Sample
            astore 19 /* sample */
        start local 19 // com.sun.media.sound.SF2Sample sample
       144: .line 791
            aload 16 /* shdr_chunk */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.name:Ljava/lang/String;
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
       145: .line 792
            lload 17 /* sample_pos */
            lstore 21 /* start */
        start local 21 // long start
       146: .line 793
            lload 17 /* sample_pos */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.data:Lcom/sun/media/sound/ModelByteBuffer;
            invokevirtual com.sun.media.sound.ModelByteBuffer.capacity:()J
            ldc 2
            ldiv
            ladd
            lstore 17 /* sample_pos */
       147: .line 794
            lload 17 /* sample_pos */
            lstore 23 /* end */
        start local 23 // long end
       148: .line 795
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.startLoop:J
            lload 21 /* start */
            ladd
            lstore 25 /* startLoop */
        start local 25 // long startLoop
       149: .line 796
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.endLoop:J
            lload 21 /* start */
            ladd
            lstore 27 /* endLoop */
        start local 27 // long endLoop
       150: .line 797
            lload 25 /* startLoop */
            lload 21 /* start */
            lcmp
            ifge 152
       151: .line 798
            lload 21 /* start */
            lstore 25 /* startLoop */
       152: .line 799
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter long com.sun.media.sound.SF2Sample java.util.Iterator long long long long
      StackMap stack:
            lload 27 /* endLoop */
            lload 23 /* end */
            lcmp
            ifle 154
       153: .line 800
            lload 23 /* end */
            lstore 27 /* endLoop */
       154: .line 801
      StackMap locals:
      StackMap stack:
            aload 16 /* shdr_chunk */
            lload 21 /* start */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       155: .line 802
            aload 16 /* shdr_chunk */
            lload 23 /* end */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       156: .line 803
            aload 16 /* shdr_chunk */
            lload 25 /* startLoop */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       157: .line 804
            aload 16 /* shdr_chunk */
            lload 27 /* endLoop */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       158: .line 805
            aload 16 /* shdr_chunk */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.sampleRate:J
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       159: .line 806
            aload 16 /* shdr_chunk */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.originalPitch:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedByte:(I)V
       160: .line 807
            aload 16 /* shdr_chunk */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.pitchCorrection:B
            invokevirtual com.sun.media.sound.RIFFWriter.writeByte:(I)V
       161: .line 808
            aload 16 /* shdr_chunk */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.sampleLink:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       162: .line 809
            aload 16 /* shdr_chunk */
            aload 19 /* sample */
            getfield com.sun.media.sound.SF2Sample.sampleType:I
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       163: .line 810
            lload 17 /* sample_pos */
            ldc 32
            ladd
            lstore 17 /* sample_pos */
        end local 27 // long endLoop
        end local 25 // long startLoop
        end local 23 // long end
        end local 21 // long start
        end local 19 // com.sun.media.sound.SF2Sample sample
       164: .line 790
      StackMap locals: com.sun.media.sound.SF2Soundbank com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter int com.sun.media.sound.RIFFWriter int int com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter com.sun.media.sound.RIFFWriter long top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 143
       165: .line 812
            aload 16 /* shdr_chunk */
            ldc "EOS"
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
       166: .line 813
            aload 16 /* shdr_chunk */
            bipush 26
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
       167: .line 815
            return
        end local 17 // long sample_pos
        end local 16 // com.sun.media.sound.RIFFWriter shdr_chunk
        end local 15 // com.sun.media.sound.RIFFWriter igen_chunk
        end local 14 // com.sun.media.sound.RIFFWriter imod_chunk
        end local 13 // int ibag_modcount
        end local 12 // int ibag_gencount
        end local 11 // com.sun.media.sound.RIFFWriter ibag_chunk
        end local 10 // int inst_zone_count
        end local 9 // com.sun.media.sound.RIFFWriter inst_chunk
        end local 8 // com.sun.media.sound.RIFFWriter pgen_chunk
        end local 7 // com.sun.media.sound.RIFFWriter pmod_chunk
        end local 6 // int pbag_modcount
        end local 5 // int pbag_gencount
        end local 4 // com.sun.media.sound.RIFFWriter pbag_chunk
        end local 3 // int phdr_zone_count
        end local 2 // com.sun.media.sound.RIFFWriter phdr_chunk
        end local 1 // com.sun.media.sound.RIFFWriter writer
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  168     0             this  Lcom/sun/media/sound/SF2Soundbank;
            0  168     1           writer  Lcom/sun/media/sound/RIFFWriter;
            1  168     2       phdr_chunk  Lcom/sun/media/sound/RIFFWriter;
            2  168     3  phdr_zone_count  I
            4   14     4           preset  Lcom/sun/media/sound/SF2Instrument;
           23  168     4       pbag_chunk  Lcom/sun/media/sound/RIFFWriter;
           24  168     5    pbag_gencount  I
           25  168     6    pbag_modcount  I
           27   41     7           preset  Lcom/sun/media/sound/SF2Instrument;
           34   40     9           region  Lcom/sun/media/sound/SF2InstrumentRegion;
           45  168     7       pmod_chunk  Lcom/sun/media/sound/RIFFWriter;
           47   55     8           preset  Lcom/sun/media/sound/SF2Instrument;
           53   54    10           region  Lcom/sun/media/sound/SF2InstrumentRegion;
           58  168     8       pgen_chunk  Lcom/sun/media/sound/RIFFWriter;
           60   72     9           preset  Lcom/sun/media/sound/SF2Instrument;
           66   71    11           region  Lcom/sun/media/sound/SF2InstrumentRegion;
           68   71    13               ix  I
           75  168     9       inst_chunk  Lcom/sun/media/sound/RIFFWriter;
           76  168    10  inst_zone_count  I
           78   83    11       instrument  Lcom/sun/media/sound/SF2Layer;
           87  168    11       ibag_chunk  Lcom/sun/media/sound/RIFFWriter;
           88  168    12    ibag_gencount  I
           89  168    13    ibag_modcount  I
           91  107    14       instrument  Lcom/sun/media/sound/SF2Layer;
          100  106    16           region  Lcom/sun/media/sound/SF2LayerRegion;
          111  168    14       imod_chunk  Lcom/sun/media/sound/RIFFWriter;
          113  121    15       instrument  Lcom/sun/media/sound/SF2Layer;
          119  120    17           region  Lcom/sun/media/sound/SF2LayerRegion;
          124  168    15       igen_chunk  Lcom/sun/media/sound/RIFFWriter;
          126  138    16       instrument  Lcom/sun/media/sound/SF2Layer;
          132  137    18           region  Lcom/sun/media/sound/SF2LayerRegion;
          134  137    20               ix  I
          141  168    16       shdr_chunk  Lcom/sun/media/sound/RIFFWriter;
          142  168    17       sample_pos  J
          144  164    19           sample  Lcom/sun/media/sound/SF2Sample;
          146  164    21            start  J
          148  164    23              end  J
          149  164    25        startLoop  J
          150  164    27          endLoop  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      writer  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 818
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public java.lang.String getVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 822
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.major:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.minor:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public java.lang.String getVendor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 826
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 830
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String s
         0: .line 834
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         1: .line 835
            return
        end local 1 // java.lang.String s
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public void setVendor(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String s
         0: .line 838
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
         1: .line 839
            return
        end local 1 // java.lang.String s
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public void setDescription(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String s
         0: .line 842
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
         1: .line 843
            return
        end local 1 // java.lang.String s
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public javax.sound.midi.SoundbankResource[] getResources();
    descriptor: ()[Ljavax/sound/midi/SoundbankResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 847
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            anewarray javax.sound.midi.SoundbankResource
         1: .line 846
            astore 1 /* resources */
        start local 1 // javax.sound.midi.SoundbankResource[] resources
         2: .line 848
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         3: .line 849
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 850
      StackMap locals: javax.sound.midi.SoundbankResource[] int int
      StackMap stack:
            aload 1 /* resources */
            iload 2 /* j */
            iinc 2 /* j */ 1
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.sound.midi.SoundbankResource
            aastore
         6: .line 849
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 5
        end local 3 // int i
         8: .line 851
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 852
      StackMap locals:
      StackMap stack:
            aload 1 /* resources */
            iload 2 /* j */
            iinc 2 /* j */ 1
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.sound.midi.SoundbankResource
            aastore
        11: .line 851
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 3 // int i
        13: .line 853
            aload 1 /* resources */
            areturn
        end local 2 // int j
        end local 1 // javax.sound.midi.SoundbankResource[] resources
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lcom/sun/media/sound/SF2Soundbank;
            2   14     1  resources  [Ljavax/sound/midi/SoundbankResource;
            3   14     2          j  I
            4    8     3          i  I
            9   13     3          i  I

  public com.sun.media.sound.SF2Instrument[] getInstruments();
    descriptor: ()[Lcom/sun/media/sound/SF2Instrument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 858
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray com.sun.media.sound.SF2Instrument
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument[]
         1: .line 857
            astore 1 /* inslist_array */
        start local 1 // com.sun.media.sound.SF2Instrument[] inslist_array
         2: .line 859
            aload 1 /* inslist_array */
            new com.sun.media.sound.ModelInstrumentComparator
            dup
            invokespecial com.sun.media.sound.ModelInstrumentComparator.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         3: .line 860
            aload 1 /* inslist_array */
            areturn
        end local 1 // com.sun.media.sound.SF2Instrument[] inslist_array
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/sun/media/sound/SF2Soundbank;
            2    4     1  inslist_array  [Lcom/sun/media/sound/SF2Instrument;

  public com.sun.media.sound.SF2Layer[] getLayers();
    descriptor: ()[Lcom/sun/media/sound/SF2Layer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 864
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray com.sun.media.sound.SF2Layer
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer[]
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public com.sun.media.sound.SF2Sample[] getSamples();
    descriptor: ()[Lcom/sun/media/sound/SF2Sample;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 868
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray com.sun.media.sound.SF2Sample
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Sample[]
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public javax.sound.midi.Instrument getInstrument(javax.sound.midi.Patch);
    descriptor: (Ljavax/sound/midi/Patch;)Ljavax/sound/midi/Instrument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=11, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // javax.sound.midi.Patch patch
         0: .line 872
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            istore 2 /* program */
        start local 2 // int program
         1: .line 873
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            istore 3 /* bank */
        start local 3 // int bank
         2: .line 874
            iconst_0
            istore 4 /* percussion */
        start local 4 // boolean percussion
         3: .line 875
            aload 1 /* patch */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 5
         4: .line 876
            aload 1 /* patch */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
            istore 4 /* percussion */
         5: .line 877
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: com.sun.media.sound.SF2Soundbank javax.sound.midi.Patch int int int top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.sound.midi.Instrument
            astore 5 /* instrument */
        start local 5 // javax.sound.midi.Instrument instrument
         7: .line 878
            aload 5 /* instrument */
            invokevirtual javax.sound.midi.Instrument.getPatch:()Ljavax/sound/midi/Patch;
            astore 7 /* patch2 */
        start local 7 // javax.sound.midi.Patch patch2
         8: .line 879
            aload 7 /* patch2 */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            istore 8 /* program2 */
        start local 8 // int program2
         9: .line 880
            aload 7 /* patch2 */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            istore 9 /* bank2 */
        start local 9 // int bank2
        10: .line 881
            iload 2 /* program */
            iload 8 /* program2 */
            if_icmpne 16
            iload 3 /* bank */
            iload 9 /* bank2 */
            if_icmpne 16
        11: .line 882
            iconst_0
            istore 10 /* percussion2 */
        start local 10 // boolean percussion2
        12: .line 883
            aload 7 /* patch2 */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 14
        13: .line 884
            aload 7 /* patch2 */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
            istore 10 /* percussion2 */
        14: .line 885
      StackMap locals: com.sun.media.sound.SF2Soundbank javax.sound.midi.Patch int int int javax.sound.midi.Instrument java.util.Iterator javax.sound.midi.Patch int int int
      StackMap stack:
            iload 4 /* percussion */
            iload 10 /* percussion2 */
            if_icmpne 16
        15: .line 886
            aload 5 /* instrument */
            areturn
        end local 10 // boolean percussion2
        end local 9 // int bank2
        end local 8 // int program2
        end local 7 // javax.sound.midi.Patch patch2
        end local 5 // javax.sound.midi.Instrument instrument
        16: .line 877
      StackMap locals: com.sun.media.sound.SF2Soundbank javax.sound.midi.Patch int int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        17: .line 889
            aconst_null
            areturn
        end local 4 // boolean percussion
        end local 3 // int bank
        end local 2 // int program
        end local 1 // javax.sound.midi.Patch patch
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lcom/sun/media/sound/SF2Soundbank;
            0   18     1        patch  Ljavax/sound/midi/Patch;
            1   18     2      program  I
            2   18     3         bank  I
            3   18     4   percussion  Z
            7   16     5   instrument  Ljavax/sound/midi/Instrument;
            8   16     7       patch2  Ljavax/sound/midi/Patch;
            9   16     8     program2  I
           10   16     9        bank2  I
           12   16    10  percussion2  Z
    MethodParameters:
       Name  Flags
      patch  

  public java.lang.String getCreationDate();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 893
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setCreationDate(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String creationDate
         0: .line 897
            aload 0 /* this */
            aload 1 /* creationDate */
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         1: .line 898
            return
        end local 1 // java.lang.String creationDate
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  creationDate  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      creationDate  

  public java.lang.String getProduct();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 901
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setProduct(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String product
         0: .line 905
            aload 0 /* this */
            aload 1 /* product */
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
         1: .line 906
            return
        end local 1 // java.lang.String product
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  product  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      product  

  public java.lang.String getRomName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 909
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setRomName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String romName
         0: .line 913
            aload 0 /* this */
            aload 1 /* romName */
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         1: .line 914
            return
        end local 1 // java.lang.String romName
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  romName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      romName  

  public int getRomVersionMajor();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 917
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
            ireturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setRomVersionMajor(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // int romVersionMajor
         0: .line 921
            aload 0 /* this */
            iload 1 /* romVersionMajor */
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         1: .line 922
            return
        end local 1 // int romVersionMajor
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  romVersionMajor  I
    MethodParameters:
                 Name  Flags
      romVersionMajor  

  public int getRomVersionMinor();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 925
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
            ireturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setRomVersionMinor(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // int romVersionMinor
         0: .line 929
            aload 0 /* this */
            iload 1 /* romVersionMinor */
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         1: .line 930
            return
        end local 1 // int romVersionMinor
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  romVersionMinor  I
    MethodParameters:
                 Name  Flags
      romVersionMinor  

  public java.lang.String getTargetEngine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 933
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setTargetEngine(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String targetEngine
         0: .line 937
            aload 0 /* this */
            aload 1 /* targetEngine */
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         1: .line 938
            return
        end local 1 // java.lang.String targetEngine
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  targetEngine  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      targetEngine  

  public java.lang.String getTools();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SF2Soundbank this
         0: .line 941
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SF2Soundbank;

  public void setTools(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // java.lang.String tools
         0: .line 945
            aload 0 /* this */
            aload 1 /* tools */
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
         1: .line 946
            return
        end local 1 // java.lang.String tools
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  tools  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      tools  

  public void addResource(javax.sound.midi.SoundbankResource);
    descriptor: (Ljavax/sound/midi/SoundbankResource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // javax.sound.midi.SoundbankResource resource
         0: .line 949
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Instrument
            ifeq 2
         1: .line 950
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            aload 1 /* resource */
            checkcast com.sun.media.sound.SF2Instrument
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 951
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Layer
            ifeq 4
         3: .line 952
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 1 /* resource */
            checkcast com.sun.media.sound.SF2Layer
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 953
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Sample
            ifeq 6
         5: .line 954
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 1 /* resource */
            checkcast com.sun.media.sound.SF2Sample
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 955
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.sound.midi.SoundbankResource resource
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/media/sound/SF2Soundbank;
            0    7     1  resource  Ljavax/sound/midi/SoundbankResource;
    MethodParameters:
          Name  Flags
      resource  

  public void removeResource(javax.sound.midi.SoundbankResource);
    descriptor: (Ljavax/sound/midi/SoundbankResource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // javax.sound.midi.SoundbankResource resource
         0: .line 958
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Instrument
            ifeq 2
         1: .line 959
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            aload 1 /* resource */
            checkcast com.sun.media.sound.SF2Instrument
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 960
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Layer
            ifeq 4
         3: .line 961
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 1 /* resource */
            checkcast com.sun.media.sound.SF2Layer
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         4: .line 962
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Sample
            ifeq 6
         5: .line 963
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 1 /* resource */
            checkcast com.sun.media.sound.SF2Sample
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         6: .line 964
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.sound.midi.SoundbankResource resource
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/media/sound/SF2Soundbank;
            0    7     1  resource  Ljavax/sound/midi/SoundbankResource;
    MethodParameters:
          Name  Flags
      resource  

  public void addInstrument(com.sun.media.sound.SF2Instrument);
    descriptor: (Lcom/sun/media/sound/SF2Instrument;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.SF2Instrument resource
         0: .line 967
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            aload 1 /* resource */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 968
            return
        end local 1 // com.sun.media.sound.SF2Instrument resource
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  resource  Lcom/sun/media/sound/SF2Instrument;
    MethodParameters:
          Name  Flags
      resource  

  public void removeInstrument(com.sun.media.sound.SF2Instrument);
    descriptor: (Lcom/sun/media/sound/SF2Instrument;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SF2Soundbank this
        start local 1 // com.sun.media.sound.SF2Instrument resource
         0: .line 971
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            aload 1 /* resource */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 972
            return
        end local 1 // com.sun.media.sound.SF2Instrument resource
        end local 0 // com.sun.media.sound.SF2Soundbank this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/media/sound/SF2Soundbank;
            0    2     1  resource  Lcom/sun/media/sound/SF2Instrument;
    MethodParameters:
          Name  Flags
      resource  

  public javax.sound.midi.Instrument[] getInstruments();
    descriptor: ()[Ljavax/sound/midi/Instrument;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.media.sound.SF2Soundbank.getInstruments:()[Lcom/sun/media/sound/SF2Instrument;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SF2Soundbank.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map