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 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 58
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 60
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 62
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 64
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 67
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 69
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 71
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 73
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 75
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 77
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 79
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 83
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 85
            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 86
            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 87
            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 90
            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 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 58
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 60
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 62
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 64
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 67
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 69
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 71
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 73
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 75
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 77
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 79
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 83
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 85
            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 86
            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 87
            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 94
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
        22: .line 96
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSoundbank:(Ljava/io/InputStream;)V
        23: .line 97
            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 98
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        26: .line 99
            aload 3
            athrow
        27: .line 98
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        28: .line 100
            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 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 58
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 60
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 62
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 64
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 67
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 69
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 71
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 73
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 75
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 77
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 79
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 83
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 85
            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 86
            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 87
            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 103
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        22: .line 104
            aload 0 /* this */
            aload 1 /* file */
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        23: .line 105
            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 107
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSoundbank:(Ljava/io/InputStream;)V
        25: .line 108
            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 109
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        28: .line 110
            aload 3
            athrow
        29: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        30: .line 111
            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 113
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            iconst_2
            putfield com.sun.media.sound.SF2Soundbank.major:I
         2: .line 58
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         3: .line 60
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         4: .line 62
            aload 0 /* this */
            ldc "untitled"
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         5: .line 64
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         6: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         7: .line 67
            aload 0 /* this */
            iconst_m1
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         8: .line 69
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         9: .line 71
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
        10: .line 73
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
        11: .line 75
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.copyright:Ljava/lang/String;
        12: .line 77
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
        13: .line 79
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
        14: .line 81
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        15: .line 82
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        16: .line 83
            aload 0 /* this */
            aconst_null
            putfield com.sun.media.sound.SF2Soundbank.sampleFile:Ljava/io/File;
        17: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
        18: .line 85
            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 86
            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 87
            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 114
            aload 0 /* this */
            aload 1 /* inputstream */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSoundbank:(Ljava/io/InputStream;)V
        22: .line 115
            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 118
            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 119
            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 120
            new com.sun.media.sound.RIFFInvalidFormatException
            dup
         3: .line 121
            ldc "Input stream is not a valid RIFF stream!"
         4: .line 120
            invokespecial com.sun.media.sound.RIFFInvalidFormatException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 123
      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 124
            new com.sun.media.sound.RIFFInvalidFormatException
            dup
         7: .line 125
            ldc "Input stream is not a valid SoundFont!"
         8: .line 124
            invokespecial com.sun.media.sound.RIFFInvalidFormatException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 128
      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 129
            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 130
            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 131
            aload 0 /* this */
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.SF2Soundbank.readInfoChunk:(Lcom/sun/media/sound/RIFFReader;)V
        13: .line 132
      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 133
            aload 0 /* this */
            aload 3 /* chunk */
            invokevirtual com.sun.media.sound.SF2Soundbank.readSdtaChunk:(Lcom/sun/media/sound/RIFFReader;)V
        15: .line 134
      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 135
            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 127
      StackMap locals:
      StackMap stack:
            aload 2 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 9
        18: .line 138
            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 141
            goto 37
         1: .line 142
      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 143
            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 144
            aload 3 /* format */
            ldc "ifil"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 145
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.major:I
         5: .line 146
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.minor:I
         6: .line 147
            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 148
            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 149
            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 150
            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 151
            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 152
            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 153
            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 154
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
        18: .line 155
            aload 0 /* this */
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
        19: .line 156
            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 157
            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 158
            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 159
            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 160
            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 161
            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 162
            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 163
            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 164
            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 165
            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 166
            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 167
            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 141
      StackMap locals:
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 1
        38: .line 171
            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 174
            goto 38
         1: .line 175
      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 176
            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 177
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
            ifne 17
         4: .line 178
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            newarray 8
            astore 3 /* sampleData */
        start local 3 // byte[] sampleData
         5: .line 180
            iconst_0
            istore 4 /* read */
        start local 4 // int read
         6: .line 181
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            istore 5 /* avail */
        start local 5 // int avail
         7: .line 182
            goto 14
         8: .line 183
      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 184
            aload 2 /* chunk */
            aload 3 /* sampleData */
            iload 4 /* read */
            ldc 65536
            invokevirtual com.sun.media.sound.RIFFReader.readFully:([BII)V
        10: .line 185
            iload 4 /* read */
            ldc 65536
            iadd
            istore 4 /* read */
        11: .line 186
            goto 14
        12: .line 187
      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 188
            iload 5 /* avail */
            istore 4 /* read */
        14: .line 182
      StackMap locals:
      StackMap stack:
            iload 4 /* read */
            iload 5 /* avail */
            if_icmpne 8
        15: .line 192
            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 194
            goto 20
        17: .line 195
      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 196
            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 195
            putfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
        20: .line 199
      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 200
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.largeFormat:Z
            ifne 35
        22: .line 201
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            newarray 8
            astore 3 /* sampleData24 */
        start local 3 // byte[] sampleData24
        23: .line 204
            iconst_0
            istore 4 /* read */
        start local 4 // int read
        24: .line 205
            aload 2 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            istore 5 /* avail */
        start local 5 // int avail
        25: .line 206
            goto 32
        26: .line 207
      StackMap locals: byte[] int int
      StackMap stack:
            iload 5 /* avail */
            iload 4 /* read */
            isub
            ldc 65536
            if_icmple 30
        27: .line 208
            aload 2 /* chunk */
            aload 3 /* sampleData24 */
            iload 4 /* read */
            ldc 65536
            invokevirtual com.sun.media.sound.RIFFReader.readFully:([BII)V
        28: .line 209
            iload 4 /* read */
            ldc 65536
            iadd
            istore 4 /* read */
        29: .line 210
            goto 32
        30: .line 211
      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 212
            iload 5 /* avail */
            istore 4 /* read */
        32: .line 206
      StackMap locals:
      StackMap stack:
            iload 4 /* read */
            iload 5 /* avail */
            if_icmpne 26
        33: .line 216
            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 217
            goto 38
        35: .line 218
      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 219
            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 218
            putfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
        end local 2 // com.sun.media.sound.RIFFReader chunk
        38: .line 174
      StackMap locals:
      StackMap stack:
            aload 1 /* riff */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 1
        39: .line 224
            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 228
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* presets */
        start local 2 // java.util.List presets
         1: .line 229
            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
            astore 4 /* presets_splits_gen */
        start local 4 // java.util.List presets_splits_gen
         3: .line 231
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* presets_splits_mod */
        start local 5 // java.util.List presets_splits_mod
         4: .line 233
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* instruments */
        start local 6 // java.util.List instruments
         5: .line 234
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* instruments_bagNdx */
        start local 7 // java.util.List instruments_bagNdx
         6: .line 235
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* instruments_splits_gen */
        start local 8 // java.util.List instruments_splits_gen
         7: .line 236
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* instruments_splits_mod */
        start local 9 // java.util.List instruments_splits_mod
         8: .line 238
            goto 241
         9: .line 239
      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
        10: .line 240
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            astore 11 /* format */
        start local 11 // java.lang.String format
        11: .line 241
            aload 11 /* format */
            ldc "phdr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        12: .line 243
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 38
            irem
            ifeq 14
        13: .line 244
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        14: .line 245
      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
        15: .line 246
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        16: goto 29
        17: .line 247
      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
        18: .line 248
            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;
        19: .line 249
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Instrument.preset:I
        20: .line 250
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Instrument.bank:I
        21: .line 251
            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
        22: .line 252
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Instrument.library:J
        23: .line 253
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Instrument.genre:J
        24: .line 254
            aload 14 /* preset */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            putfield com.sun.media.sound.SF2Instrument.morphology:J
        25: .line 255
            aload 2 /* presets */
            aload 14 /* preset */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 256
            iload 13 /* i */
            iload 12 /* count */
            iconst_1
            isub
            if_icmpeq 28
        27: .line 257
            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
        28: .line 246
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 13 /* i */
            iload 12 /* count */
            if_icmplt 17
        end local 13 // int i
        end local 12 // int count
        30: .line 259
            goto 241
      StackMap locals:
      StackMap stack:
        31: aload 11 /* format */
            ldc "pbag"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 88
        32: .line 261
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            iconst_4
            irem
            ifeq 34
        33: .line 262
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        34: .line 263
      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
        35: .line 267
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* gencount */
        start local 13 // int gencount
        36: .line 268
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 14 /* modcount */
        start local 14 // int modcount
        37: .line 269
            goto 39
        38: .line 270
      StackMap locals: int int int
      StackMap stack:
            aload 4 /* presets_splits_gen */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 269
      StackMap locals:
      StackMap stack:
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 13 /* gencount */
            if_icmplt 38
        40: .line 271
            goto 42
        41: .line 272
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        42: .line 271
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 14 /* modcount */
            if_icmplt 41
        43: .line 273
            iinc 12 /* count */ -1
        end local 14 // int modcount
        end local 13 // int gencount
        44: .line 276
            aload 3 /* presets_bagNdx */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 46
        45: .line 277
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        46: .line 279
      StackMap locals:
      StackMap stack:
            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
        47: .line 281
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        48: goto 61
        49: .line 282
      StackMap locals: int int
      StackMap stack:
            iload 12 /* count */
            ifne 51
        50: .line 283
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        51: .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
        52: .line 285
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 16 /* modcount */
        start local 16 // int modcount
        53: .line 286
            goto 55
        54: .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
        55: .line 286
      StackMap locals:
      StackMap stack:
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 15 /* gencount */
            if_icmplt 54
        56: .line 288
            goto 58
        57: .line 289
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        58: .line 288
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 16 /* modcount */
            if_icmplt 57
        59: .line 290
            iinc 12 /* count */ -1
        end local 16 // int modcount
        end local 15 // int gencount
        60: .line 281
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 14 /* i */
            iload 13 /* offset */
            if_icmplt 49
        end local 14 // int i
        62: .line 293
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        63: goto 86
        64: .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
        65: .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
        66: .line 294
            isub
            istore 15 /* zone_count */
        start local 15 // int zone_count
        67: .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
        68: .line 297
            iconst_0
            istore 17 /* ii */
        start local 17 // int ii
        69: goto 84
        70: .line 298
      StackMap locals: int com.sun.media.sound.SF2Instrument int
      StackMap stack:
            iload 12 /* count */
            ifne 72
        71: .line 299
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
        72: .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
        73: .line 301
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 19 /* modcount */
        start local 19 // int modcount
        74: .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
        75: .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
        76: .line 304
            goto 78
        77: .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
        78: .line 304
      StackMap locals:
      StackMap stack:
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 18 /* gencount */
            if_icmplt 77
        79: .line 306
            goto 81
        80: .line 307
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        81: .line 306
      StackMap locals:
      StackMap stack:
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 19 /* modcount */
            if_icmplt 80
        82: .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
        83: .line 297
            iinc 17 /* ii */ 1
      StackMap locals:
      StackMap stack:
        84: iload 17 /* ii */
            iload 15 /* zone_count */
            if_icmplt 70
        end local 17 // int ii
        end local 16 // com.sun.media.sound.SF2Instrument preset
        end local 15 // int zone_count
        85: .line 293
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        86: iload 14 /* i */
            aload 3 /* presets_bagNdx */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 64
        end local 14 // int i
        end local 13 // int offset
        end local 12 // int count
        87: .line 311
            goto 241
      StackMap locals:
      StackMap stack:
        88: aload 11 /* format */
            ldc "pmod"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 103
        89: .line 313
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        90: goto 101
        91: .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
        92: .line 315
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.sourceOperator:I
        93: .line 316
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.destinationOperator:I
        94: .line 317
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            putfield com.sun.media.sound.SF2Modulator.amount:S
        95: .line 318
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.amountSourceOperator:I
        96: .line 319
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.transportOperator:I
        97: .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
        98: .line 321
            aload 14 /* split */
            ifnull 100
        99: .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
       100: .line 313
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       101: iload 12 /* i */
            aload 5 /* presets_splits_mod */
            invokeinterface java.util.List.size:()I
            if_icmplt 91
        end local 12 // int i
       102: .line 324
            goto 241
      StackMap locals:
      StackMap stack:
       103: aload 11 /* format */
            ldc "pgen"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 114
       104: .line 326
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       105: goto 112
       106: .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
       107: .line 328
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            istore 14 /* amount */
        start local 14 // short amount
       108: .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
       109: .line 330
            aload 15 /* split */
            ifnull 111
       110: .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
       111: .line 326
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       112: iload 12 /* i */
            aload 4 /* presets_splits_gen */
            invokeinterface java.util.List.size:()I
            if_icmplt 106
        end local 12 // int i
       113: .line 333
            goto 241
      StackMap locals:
      StackMap stack:
       114: aload 11 /* format */
            ldc "inst"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 129
       115: .line 335
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 22
            irem
            ifeq 117
       116: .line 336
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       117: .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
       118: .line 338
            iconst_0
            istore 13 /* i */
        start local 13 // int i
       119: goto 127
       120: .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
       121: .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;
       122: .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
       123: .line 342
            aload 6 /* instruments */
            aload 14 /* layer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       124: .line 343
            iload 13 /* i */
            iload 12 /* count */
            iconst_1
            isub
            if_icmpeq 126
       125: .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
       126: .line 338
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       127: iload 13 /* i */
            iload 12 /* count */
            if_icmplt 120
        end local 13 // int i
        end local 12 // int count
       128: .line 346
            goto 241
      StackMap locals:
      StackMap stack:
       129: aload 11 /* format */
            ldc "ibag"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 184
       130: .line 348
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            iconst_4
            irem
            ifeq 132
       131: .line 349
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       132: .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
       133: .line 354
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* gencount */
        start local 13 // int gencount
       134: .line 355
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 14 /* modcount */
        start local 14 // int modcount
       135: .line 356
            goto 137
       136: .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
       137: .line 356
      StackMap locals:
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 13 /* gencount */
            if_icmplt 136
       138: .line 358
            goto 140
       139: .line 359
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       140: .line 358
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 14 /* modcount */
            if_icmplt 139
       141: .line 360
            iinc 12 /* count */ -1
        end local 14 // int modcount
        end local 13 // int gencount
       142: .line 363
            aload 7 /* instruments_bagNdx */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 144
       143: .line 364
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       144: .line 366
      StackMap locals:
      StackMap stack:
            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 368
            iconst_0
            istore 14 /* i */
        start local 14 // int i
       146: goto 159
       147: .line 369
      StackMap locals: int int
      StackMap stack:
            iload 12 /* count */
            ifne 149
       148: .line 370
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       149: .line 371
      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 372
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 16 /* modcount */
        start local 16 // int modcount
       151: .line 373
            goto 153
       152: .line 374
      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 373
      StackMap locals:
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 15 /* gencount */
            if_icmplt 152
       154: .line 375
            goto 156
       155: .line 376
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       156: .line 375
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 16 /* modcount */
            if_icmplt 155
       157: .line 377
            iinc 12 /* count */ -1
        end local 16 // int modcount
        end local 15 // int gencount
       158: .line 368
            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 380
            iconst_0
            istore 14 /* i */
        start local 14 // int i
       161: goto 182
       162: .line 381
      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 382
            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 383
            iconst_0
            istore 17 /* ii */
        start local 17 // int ii
       165: goto 180
       166: .line 384
      StackMap locals: int com.sun.media.sound.SF2Layer int
      StackMap stack:
            iload 12 /* count */
            ifne 168
       167: .line 385
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       168: .line 386
      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 387
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 19 /* modcount */
        start local 19 // int modcount
       170: .line 388
            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 389
            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 390
            goto 174
       173: .line 391
      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 390
      StackMap locals:
      StackMap stack:
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            iload 18 /* gencount */
            if_icmplt 173
       175: .line 392
            goto 177
       176: .line 393
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            aload 20 /* split */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       177: .line 392
      StackMap locals:
      StackMap stack:
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            iload 19 /* modcount */
            if_icmplt 176
       178: .line 394
            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 383
            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 380
            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 398
            goto 241
      StackMap locals:
      StackMap stack:
       184: aload 11 /* format */
            ldc "imod"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 201
       185: .line 400
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       186: goto 199
       187: .line 401
      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 402
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.sourceOperator:I
       189: .line 403
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.destinationOperator:I
       190: .line 404
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            putfield com.sun.media.sound.SF2Modulator.amount:S
       191: .line 405
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.amountSourceOperator:I
       192: .line 406
            aload 13 /* modulator */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Modulator.transportOperator:I
       193: .line 407
            iload 12 /* i */
            iflt 194
            iload 12 /* i */
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            if_icmplt 195
       194: .line 408
      StackMap locals: com.sun.media.sound.SF2Modulator
      StackMap stack:
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       195: .line 410
      StackMap locals:
      StackMap stack:
            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
       196: .line 411
            aload 14 /* split */
            ifnull 198
       197: .line 412
            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
       198: .line 400
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       199: iload 12 /* i */
            aload 9 /* instruments_splits_mod */
            invokeinterface java.util.List.size:()I
            if_icmplt 187
        end local 12 // int i
       200: .line 414
            goto 241
      StackMap locals:
      StackMap stack:
       201: aload 11 /* format */
            ldc "igen"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 212
       202: .line 416
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       203: goto 210
       204: .line 417
      StackMap locals: int
      StackMap stack:
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 13 /* operator */
        start local 13 // int operator
       205: .line 418
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readShort:()S
            istore 14 /* amount */
        start local 14 // short amount
       206: .line 419
            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
       207: .line 420
            aload 15 /* split */
            ifnull 209
       208: .line 421
            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
       209: .line 416
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       210: iload 12 /* i */
            aload 8 /* instruments_splits_gen */
            invokeinterface java.util.List.size:()I
            if_icmplt 204
        end local 12 // int i
       211: .line 423
            goto 241
      StackMap locals:
      StackMap stack:
       212: aload 11 /* format */
            ldc "shdr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 241
       213: .line 425
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.available:()I
            bipush 46
            irem
            ifeq 215
       214: .line 426
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       215: .line 427
      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
       216: .line 428
            iconst_0
            istore 13 /* i */
        start local 13 // int i
       217: goto 240
       218: .line 429
      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
       219: .line 430
            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;
       220: .line 431
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lstore 15 /* start */
        start local 15 // long start
       221: .line 432
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lstore 17 /* end */
        start local 17 // long end
       222: .line 433
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleData:Lcom/sun/media/sound/ModelByteBuffer;
            ifnull 224
       223: .line 434
            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;
       224: .line 435
      StackMap locals: com.sun.media.sound.SF2Sample long long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.sampleData24:Lcom/sun/media/sound/ModelByteBuffer;
            ifnull 226
       225: .line 436
            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;
       226: .line 444
      StackMap locals:
      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
       227: .line 445
            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
       228: .line 446
            aload 14 /* sample */
            getfield com.sun.media.sound.SF2Sample.startLoop:J
            lconst_0
            lcmp
            ifge 230
       229: .line 447
            aload 14 /* sample */
            ldc -1
            putfield com.sun.media.sound.SF2Sample.startLoop:J
       230: .line 448
      StackMap locals:
      StackMap stack:
            aload 14 /* sample */
            getfield com.sun.media.sound.SF2Sample.endLoop:J
            lconst_0
            lcmp
            ifge 232
       231: .line 449
            aload 14 /* sample */
            ldc -1
            putfield com.sun.media.sound.SF2Sample.endLoop:J
       232: .line 450
      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
       233: .line 451
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedByte:()I
            putfield com.sun.media.sound.SF2Sample.originalPitch:I
       234: .line 452
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readByte:()B
            putfield com.sun.media.sound.SF2Sample.pitchCorrection:B
       235: .line 453
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Sample.sampleLink:I
       236: .line 454
            aload 14 /* sample */
            aload 10 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            putfield com.sun.media.sound.SF2Sample.sampleType:I
       237: .line 455
            iload 13 /* i */
            iload 12 /* count */
            iconst_1
            isub
            if_icmpeq 239
       238: .line 456
            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
       239: .line 428
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       240: iload 13 /* i */
            iload 12 /* count */
            if_icmplt 218
        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
       241: .line 238
      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 9
       242: .line 461
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 265
      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 top java.util.Iterator
      StackMap stack:
       243: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Layer
            astore 10 /* layer */
        start local 10 // com.sun.media.sound.SF2Layer layer
       244: .line 462
            aload 10 /* 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
       245: .line 463
            aconst_null
            astore 13 /* globalsplit */
        start local 13 // com.sun.media.sound.SF2Region globalsplit
       246: .line 464
            goto 258
       247: .line 465
      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 com.sun.media.sound.SF2Layer java.util.Iterator 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
       248: .line 466
            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 257
       249: .line 467
            aload 14 /* split */
            getfield com.sun.media.sound.SF2LayerRegion.generators:Ljava/util/Map;
       250: .line 468
            bipush 53
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
       251: .line 467
            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
       252: .line 469
            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
       253: .line 470
            iload 15 /* sampleid */
            iflt 254
            iload 15 /* sampleid */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 255
       254: .line 471
      StackMap locals: com.sun.media.sound.SF2LayerRegion int
      StackMap stack:
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       255: .line 473
      StackMap locals:
      StackMap stack:
            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
       256: .line 474
            goto 258
       257: .line 475
      StackMap locals:
      StackMap stack:
            aload 14 /* split */
            astore 13 /* globalsplit */
        end local 14 // com.sun.media.sound.SF2LayerRegion split
       258: .line 464
      StackMap locals:
      StackMap stack:
            aload 12 /* siter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 247
       259: .line 478
            aload 13 /* globalsplit */
            ifnull 265
       260: .line 479
            aload 10 /* layer */
            invokevirtual com.sun.media.sound.SF2Layer.getRegions:()Ljava/util/List;
            aload 13 /* globalsplit */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
       261: .line 480
            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
       262: .line 481
            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;
       263: .line 482
            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;
       264: .line 483
            aload 10 /* 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 10 // com.sun.media.sound.SF2Layer layer
       265: .line 461
      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 top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 243
       266: .line 488
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.instruments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 289
      StackMap locals:
      StackMap stack:
       267: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SF2Instrument
            astore 10 /* instrument */
        start local 10 // com.sun.media.sound.SF2Instrument instrument
       268: .line 489
            aload 10 /* instrument */
            getfield com.sun.media.sound.SF2Instrument.regions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12 /* siter */
        start local 12 // java.util.Iterator siter
       269: .line 490
            aconst_null
            astore 13 /* globalsplit */
        start local 13 // com.sun.media.sound.SF2Region globalsplit
       270: .line 491
            goto 282
       271: .line 492
      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 com.sun.media.sound.SF2Instrument java.util.Iterator 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.SF2InstrumentRegion
            astore 14 /* split */
        start local 14 // com.sun.media.sound.SF2InstrumentRegion split
       272: .line 493
            aload 14 /* 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 281
       273: .line 494
            aload 14 /* split */
            getfield com.sun.media.sound.SF2InstrumentRegion.generators:Ljava/util/Map;
       274: .line 495
            bipush 41
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
       275: .line 494
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            istore 15 /* instrumentid */
        start local 15 // int instrumentid
       276: .line 496
            aload 14 /* 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
       277: .line 497
            iload 15 /* instrumentid */
            iflt 278
            iload 15 /* instrumentid */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 279
       278: .line 498
      StackMap locals: com.sun.media.sound.SF2InstrumentRegion int
      StackMap stack:
            new com.sun.media.sound.RIFFInvalidDataException
            dup
            invokespecial com.sun.media.sound.RIFFInvalidDataException.<init>:()V
            athrow
       279: .line 500
      StackMap locals:
      StackMap stack:
            aload 14 /* split */
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            iload 15 /* 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 15 // int instrumentid
       280: .line 501
            goto 282
       281: .line 502
      StackMap locals:
      StackMap stack:
            aload 14 /* split */
            astore 13 /* globalsplit */
        end local 14 // com.sun.media.sound.SF2InstrumentRegion split
       282: .line 491
      StackMap locals:
      StackMap stack:
            aload 12 /* siter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 271
       283: .line 506
            aload 13 /* globalsplit */
            ifnull 289
       284: .line 507
            aload 10 /* instrument */
            invokevirtual com.sun.media.sound.SF2Instrument.getRegions:()Ljava/util/List;
            aload 13 /* globalsplit */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
       285: .line 508
            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
       286: .line 509
            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;
       287: .line 510
            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;
       288: .line 511
            aload 10 /* instrument */
            aload 14 /* gsplit */
            invokevirtual com.sun.media.sound.SF2Instrument.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 10 // com.sun.media.sound.SF2Instrument instrument
       289: .line 488
      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 top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 267
       290: .line 515
            return
        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  291     0                    this  Lcom/sun/media/sound/SF2Soundbank;
            0  291     1                    riff  Lcom/sun/media/sound/RIFFReader;
            1  291     2                 presets  Ljava/util/List<Lcom/sun/media/sound/SF2Instrument;>;
            2  291     3          presets_bagNdx  Ljava/util/List<Ljava/lang/Integer;>;
            3  291     4      presets_splits_gen  Ljava/util/List<Lcom/sun/media/sound/SF2InstrumentRegion;>;
            4  291     5      presets_splits_mod  Ljava/util/List<Lcom/sun/media/sound/SF2InstrumentRegion;>;
            5  291     6             instruments  Ljava/util/List<Lcom/sun/media/sound/SF2Layer;>;
            6  291     7      instruments_bagNdx  Ljava/util/List<Ljava/lang/Integer;>;
            7  291     8  instruments_splits_gen  Ljava/util/List<Lcom/sun/media/sound/SF2LayerRegion;>;
            8  291     9  instruments_splits_mod  Ljava/util/List<Lcom/sun/media/sound/SF2LayerRegion;>;
           10  241    10                   chunk  Lcom/sun/media/sound/RIFFReader;
           11  241    11                  format  Ljava/lang/String;
           15   30    12                   count  I
           16   30    13                       i  I
           18   28    14                  preset  Lcom/sun/media/sound/SF2Instrument;
           35   87    12                   count  I
           36   44    13                gencount  I
           37   44    14                modcount  I
           47   87    13                  offset  I
           48   62    14                       i  I
           52   60    15                gencount  I
           53   60    16                modcount  I
           63   87    14                       i  I
           67   85    15              zone_count  I
           68   85    16                  preset  Lcom/sun/media/sound/SF2Instrument;
           69   85    17                      ii  I
           73   83    18                gencount  I
           74   83    19                modcount  I
           75   83    20                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
           90  102    12                       i  I
           92  100    13               modulator  Lcom/sun/media/sound/SF2Modulator;
           98  100    14                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
          105  113    12                       i  I
          107  111    13                operator  I
          108  111    14                  amount  S
          109  111    15                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
          118  128    12                   count  I
          119  128    13                       i  I
          121  126    14                   layer  Lcom/sun/media/sound/SF2Layer;
          133  183    12                   count  I
          134  142    13                gencount  I
          135  142    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  200    12                       i  I
          188  198    13               modulator  Lcom/sun/media/sound/SF2Modulator;
          196  198    14                   split  Lcom/sun/media/sound/SF2LayerRegion;
          203  211    12                       i  I
          205  209    13                operator  I
          206  209    14                  amount  S
          207  209    15                   split  Lcom/sun/media/sound/SF2LayerRegion;
          216  241    12                   count  I
          217  241    13                       i  I
          219  239    14                  sample  Lcom/sun/media/sound/SF2Sample;
          221  239    15                   start  J
          222  239    17                     end  J
          244  265    10                   layer  Lcom/sun/media/sound/SF2Layer;
          245  265    12                   siter  Ljava/util/Iterator<Lcom/sun/media/sound/SF2LayerRegion;>;
          246  265    13             globalsplit  Lcom/sun/media/sound/SF2Region;
          248  258    14                   split  Lcom/sun/media/sound/SF2LayerRegion;
          252  256    15                sampleid  I
          262  265    14                  gsplit  Lcom/sun/media/sound/SF2GlobalRegion;
          268  289    10              instrument  Lcom/sun/media/sound/SF2Instrument;
          269  289    12                   siter  Ljava/util/Iterator<Lcom/sun/media/sound/SF2InstrumentRegion;>;
          270  289    13             globalsplit  Lcom/sun/media/sound/SF2Region;
          272  282    14                   split  Lcom/sun/media/sound/SF2InstrumentRegion;
          276  280    15            instrumentid  I
          286  289    14                  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 518
            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 519
            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 522
            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 523
            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 526
            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 527
            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 530
            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 531
            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 532
            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 533
            aload 1 /* writer */
            invokevirtual com.sun.media.sound.RIFFWriter.close:()V
         4: .line 534
            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 538
            aload 3 /* value */
            ifnonnull 2
         1: .line 539
            return
         2: .line 540
      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 541
            aload 4 /* chunk */
            aload 3 /* value */
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;)V
         4: .line 542
            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 543
            aload 4 /* chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.write:(I)V
         6: .line 544
            iinc 5 /* len */ 1
         7: .line 545
            iload 5 /* len */
            iconst_2
            irem
            ifeq 9
         8: .line 546
            aload 4 /* chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.write:(I)V
         9: .line 547
      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 550
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
            ifnonnull 2
         1: .line 551
            aload 0 /* this */
            ldc "EMU8000"
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         2: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
            ifnonnull 4
         3: .line 553
            aload 0 /* this */
            ldc ""
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         4: .line 555
      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 556
            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 557
            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 558
            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 559
            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 560
            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 561
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
            iconst_m1
            if_icmpeq 14
        11: .line 562
            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 563
            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 564
            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 566
      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 567
            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 568
            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 569
            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 570
            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 571
            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 573
            aload 1 /* writer */
            invokevirtual com.sun.media.sound.RIFFWriter.close:()V
        21: .line 574
            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 578
            bipush 32
            newarray 8
            astore 2 /* pad */
        start local 2 // byte[] pad
         1: .line 580
            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 581
            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 582
            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 583
            aload 6 /* data */
            aload 3 /* smpl_chunk */
            invokevirtual com.sun.media.sound.ModelByteBuffer.writeTo:(Ljava/io/OutputStream;)V
         6: .line 589
            aload 3 /* smpl_chunk */
            aload 2 /* pad */
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
         7: .line 590
            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 581
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 592
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.major:I
            iconst_2
            if_icmpge 11
        10: .line 593
            return
        11: .line 594
      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 595
            return
        13: .line 598
      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 599
            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 600
            aload 6 /* data24 */
            ifnonnull 18
        17: .line 601
            return
        end local 6 // com.sun.media.sound.ModelByteBuffer data24
        end local 4 // com.sun.media.sound.SF2Sample sample
        18: .line 598
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 604
            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 605
            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 606
            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 607
            aload 7 /* data */
            aload 4 /* sm24_chunk */
            invokevirtual com.sun.media.sound.ModelByteBuffer.writeTo:(Ljava/io/OutputStream;)V
        24: .line 612
            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 605
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        26: .line 614
            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 618
            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 619
            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 620
            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 621
            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 622
            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 623
            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 618
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 625
            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 629
            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 630
            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 631
            aload 3 /* keyrange */
            ifnull 5
         3: .line 632
            aload 1 /* writer */
            bipush 43
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         4: .line 633
            aload 1 /* writer */
            aload 3 /* keyrange */
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
         5: .line 635
      StackMap locals: java.lang.Short java.lang.Short
      StackMap stack:
            aload 4 /* velrange */
            ifnull 8
         6: .line 636
            aload 1 /* writer */
            bipush 44
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         7: .line 637
            aload 1 /* writer */
            aload 4 /* velrange */
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.sun.media.sound.RIFFWriter.writeShort:(S)V
         8: .line 639
      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 640
            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 641
            goto 16
        12: .line 642
      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 643
            goto 16
        14: .line 644
      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 645
            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 639
      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 647
            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 651
            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 652
            iconst_0
            istore 3 /* phdr_zone_count */
        start local 3 // int phdr_zone_count
         2: .line 653
            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 654
            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 655
            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 656
            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 657
            aload 2 /* phdr_chunk */
            iload 3 /* phdr_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
         8: .line 658
            aload 4 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 10
         9: .line 659
            iinc 3 /* phdr_zone_count */ 1
        10: .line 660
      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 661
            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 662
            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 663
            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 653
      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 665
            aload 2 /* phdr_chunk */
            ldc "EOP"
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
        16: .line 666
            aload 2 /* phdr_chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        17: .line 667
            aload 2 /* phdr_chunk */
            iconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        18: .line 668
            aload 2 /* phdr_chunk */
            iload 3 /* phdr_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        19: .line 669
            aload 2 /* phdr_chunk */
            lconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        20: .line 670
            aload 2 /* phdr_chunk */
            lconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        21: .line 671
            aload 2 /* phdr_chunk */
            lconst_0
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
        22: .line 674
            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 675
            iconst_0
            istore 5 /* pbag_gencount */
        start local 5 // int pbag_gencount
        24: .line 676
            iconst_0
            istore 6 /* pbag_modcount */
        start local 6 // int pbag_modcount
        25: .line 677
            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 678
            aload 7 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 32
        28: .line 679
            aload 4 /* pbag_chunk */
            iload 5 /* pbag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        29: .line 680
            aload 4 /* pbag_chunk */
            iload 6 /* pbag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        30: .line 681
            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 682
            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 684
      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 685
            aload 4 /* pbag_chunk */
            iload 5 /* pbag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        35: .line 686
            aload 4 /* pbag_chunk */
            iload 6 /* pbag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        36: .line 687
            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 689
            iinc 5 /* pbag_gencount */ 1
        38: .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.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 692
            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 684
      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 677
      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 696
            aload 4 /* pbag_chunk */
            iload 5 /* pbag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        43: .line 697
            aload 4 /* pbag_chunk */
            iload 6 /* pbag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        44: .line 699
            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 700
            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 701
            aload 8 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 51
        48: .line 702
            aload 0 /* this */
            aload 7 /* pmod_chunk */
        49: .line 703
            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 702
            invokevirtual com.sun.media.sound.SF2Soundbank.writeModulators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
        51: .line 705
      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 706
            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 705
      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 700
      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 708
            aload 7 /* pmod_chunk */
            bipush 10
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
        57: .line 710
            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 711
            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 712
            aload 9 /* preset */
            invokevirtual com.sun.media.sound.SF2Instrument.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 64
        61: .line 713
            aload 0 /* this */
            aload 8 /* pgen_chunk */
        62: .line 714
            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 713
            invokevirtual com.sun.media.sound.SF2Soundbank.writeGenerators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
        64: .line 716
      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 717
            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 718
            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 719
            iload 13 /* ix */
            iconst_m1
            if_icmpeq 71
        69: .line 720
            aload 8 /* pgen_chunk */
            bipush 41
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        70: .line 721
            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 716
      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 711
      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 725
            aload 8 /* pgen_chunk */
            iconst_4
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
        74: .line 727
            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 728
            iconst_0
            istore 10 /* inst_zone_count */
        start local 10 // int inst_zone_count
        76: .line 729
            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 730
            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 731
            aload 9 /* inst_chunk */
            iload 10 /* inst_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        80: .line 732
            aload 11 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 82
        81: .line 733
            iinc 10 /* inst_zone_count */ 1
        82: .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.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 729
      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 736
            aload 9 /* inst_chunk */
            ldc "EOI"
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
        85: .line 737
            aload 9 /* inst_chunk */
            iload 10 /* inst_zone_count */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        86: .line 740
            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 741
            iconst_0
            istore 12 /* ibag_gencount */
        start local 12 // int ibag_gencount
        88: .line 742
            iconst_0
            istore 13 /* ibag_modcount */
        start local 13 // int ibag_modcount
        89: .line 743
            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 744
            aload 14 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 98
        92: .line 745
            aload 11 /* ibag_chunk */
            iload 12 /* ibag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        93: .line 746
            aload 11 /* ibag_chunk */
            iload 13 /* ibag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
        94: .line 747
            iload 12 /* ibag_gencount */
        95: .line 748
            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 749
            iload 13 /* ibag_modcount */
        97: .line 750
            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 752
      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 753
            aload 11 /* ibag_chunk */
            iload 12 /* ibag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       101: .line 754
            aload 11 /* ibag_chunk */
            iload 13 /* ibag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       102: .line 755
            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 757
            iinc 12 /* ibag_gencount */ 1
       104: .line 759
      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 760
            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 752
      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 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 top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 90
       108: .line 764
            aload 11 /* ibag_chunk */
            iload 12 /* ibag_gencount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       109: .line 765
            aload 11 /* ibag_chunk */
            iload 13 /* ibag_modcount */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       110: .line 768
            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 769
            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 770
            aload 15 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 117
       114: .line 771
            aload 0 /* this */
            aload 14 /* imod_chunk */
       115: .line 772
            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 771
            invokevirtual com.sun.media.sound.SF2Soundbank.writeModulators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/List;)V
       117: .line 774
      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 775
            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 774
      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 769
      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 777
            aload 14 /* imod_chunk */
            bipush 10
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
       123: .line 779
            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 780
            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 781
            aload 16 /* instrument */
            invokevirtual com.sun.media.sound.SF2Layer.getGlobalRegion:()Lcom/sun/media/sound/SF2GlobalRegion;
            ifnull 130
       127: .line 782
            aload 0 /* this */
            aload 15 /* igen_chunk */
       128: .line 783
            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 782
            invokevirtual com.sun.media.sound.SF2Soundbank.writeGenerators:(Lcom/sun/media/sound/RIFFWriter;Ljava/util/Map;)V
       130: .line 785
      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 786
            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 787
            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 788
            iload 20 /* ix */
            iconst_m1
            if_icmpeq 137
       135: .line 789
            aload 15 /* igen_chunk */
            bipush 53
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedShort:(I)V
       136: .line 790
            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 785
      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 780
      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 794
            aload 15 /* igen_chunk */
            iconst_4
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
       140: .line 797
            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 798
            lconst_0
            lstore 17 /* sample_pos */
        start local 17 // long sample_pos
       142: .line 799
            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 800
            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 801
            lload 17 /* sample_pos */
            lstore 21 /* start */
        start local 21 // long start
       146: .line 802
            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 803
            lload 17 /* sample_pos */
            lstore 23 /* end */
        start local 23 // long end
       148: .line 804
            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 805
            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 806
            lload 25 /* startLoop */
            lload 21 /* start */
            lcmp
            ifge 152
       151: .line 807
            lload 21 /* start */
            lstore 25 /* startLoop */
       152: .line 808
      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 809
            lload 23 /* end */
            lstore 27 /* endLoop */
       154: .line 810
      StackMap locals:
      StackMap stack:
            aload 16 /* shdr_chunk */
            lload 21 /* start */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       155: .line 811
            aload 16 /* shdr_chunk */
            lload 23 /* end */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       156: .line 812
            aload 16 /* shdr_chunk */
            lload 25 /* startLoop */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       157: .line 813
            aload 16 /* shdr_chunk */
            lload 27 /* endLoop */
            invokevirtual com.sun.media.sound.RIFFWriter.writeUnsignedInt:(J)V
       158: .line 814
            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 815
            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 816
            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 817
            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 818
            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 819
            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 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 top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 143
       165: .line 821
            aload 16 /* shdr_chunk */
            ldc "EOS"
            bipush 20
            invokevirtual com.sun.media.sound.RIFFWriter.writeString:(Ljava/lang/String;I)V
       166: .line 822
            aload 16 /* shdr_chunk */
            bipush 26
            newarray 8
            invokevirtual com.sun.media.sound.RIFFWriter.write:([B)V
       167: .line 824
            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 828
            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 833
            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 838
            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 843
            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 847
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.media.sound.SF2Soundbank.name:Ljava/lang/String;
         1: .line 848
            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 851
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.media.sound.SF2Soundbank.engineers:Ljava/lang/String;
         1: .line 852
            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 855
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.media.sound.SF2Soundbank.comments:Ljava/lang/String;
         1: .line 856
            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 861
            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 860
            astore 1 /* resources */
        start local 1 // javax.sound.midi.SoundbankResource[] resources
         2: .line 862
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         3: .line 863
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 864
      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 863
            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 865
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 866
      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 865
            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 867
            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 873
            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 872
            astore 1 /* inslist_array */
        start local 1 // com.sun.media.sound.SF2Instrument[] inslist_array
         2: .line 874
            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 875
            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 879
            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 883
            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 888
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            istore 2 /* program */
        start local 2 // int program
         1: .line 889
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            istore 3 /* bank */
        start local 3 // int bank
         2: .line 890
            iconst_0
            istore 4 /* percussion */
        start local 4 // boolean percussion
         3: .line 891
            aload 1 /* patch */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 5
         4: .line 892
            aload 1 /* patch */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
            istore 4 /* percussion */
         5: .line 893
      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 894
            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 895
            aload 7 /* patch2 */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            istore 8 /* program2 */
        start local 8 // int program2
         9: .line 896
            aload 7 /* patch2 */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            istore 9 /* bank2 */
        start local 9 // int bank2
        10: .line 897
            iload 2 /* program */
            iload 8 /* program2 */
            if_icmpne 16
            iload 3 /* bank */
            iload 9 /* bank2 */
            if_icmpne 16
        11: .line 898
            iconst_0
            istore 10 /* percussion2 */
        start local 10 // boolean percussion2
        12: .line 899
            aload 7 /* patch2 */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 14
        13: .line 900
            aload 7 /* patch2 */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
            istore 10 /* percussion2 */
        14: .line 901
      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 902
            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 893
      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 905
            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 909
            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 913
            aload 0 /* this */
            aload 1 /* creationDate */
            putfield com.sun.media.sound.SF2Soundbank.creationDate:Ljava/lang/String;
         1: .line 914
            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 917
            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 921
            aload 0 /* this */
            aload 1 /* product */
            putfield com.sun.media.sound.SF2Soundbank.product:Ljava/lang/String;
         1: .line 922
            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 925
            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 929
            aload 0 /* this */
            aload 1 /* romName */
            putfield com.sun.media.sound.SF2Soundbank.romName:Ljava/lang/String;
         1: .line 930
            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 933
            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 937
            aload 0 /* this */
            iload 1 /* romVersionMajor */
            putfield com.sun.media.sound.SF2Soundbank.romVersionMajor:I
         1: .line 938
            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 941
            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 945
            aload 0 /* this */
            iload 1 /* romVersionMinor */
            putfield com.sun.media.sound.SF2Soundbank.romVersionMinor:I
         1: .line 946
            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 949
            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 953
            aload 0 /* this */
            aload 1 /* targetEngine */
            putfield com.sun.media.sound.SF2Soundbank.targetEngine:Ljava/lang/String;
         1: .line 954
            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 957
            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 961
            aload 0 /* this */
            aload 1 /* tools */
            putfield com.sun.media.sound.SF2Soundbank.tools:Ljava/lang/String;
         1: .line 962
            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 965
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Instrument
            ifeq 2
         1: .line 966
            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 967
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Layer
            ifeq 4
         3: .line 968
            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 969
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Sample
            ifeq 6
         5: .line 970
            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 971
      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 974
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Instrument
            ifeq 2
         1: .line 975
            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
         2: .line 976
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Layer
            ifeq 4
         3: .line 977
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.layers:Ljava/util/List;
            aload 1 /* resource */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         4: .line 978
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof com.sun.media.sound.SF2Sample
            ifeq 6
         5: .line 979
            aload 0 /* this */
            getfield com.sun.media.sound.SF2Soundbank.samples:Ljava/util/List;
            aload 1 /* resource */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         6: .line 980
      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 983
            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 984
            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 987
            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 988
            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