public class com.sun.media.sound.SimpleInstrument extends com.sun.media.sound.ModelInstrument
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.media.sound.SimpleInstrument
  super_class: com.sun.media.sound.ModelInstrument
{
  protected int preset;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int bank;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected boolean percussion;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.List<com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart> parts;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lcom/sun/media/sound/SimpleInstrument$SimpleInstrumentPart;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SimpleInstrument this
         0: .line 55
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.sun.media.sound.ModelInstrument.<init>:(Ljavax/sound/midi/Soundbank;Ljavax/sound/midi/Patch;Ljava/lang/String;Ljava/lang/Class;)V
         1: .line 47
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SimpleInstrument.preset:I
         2: .line 48
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SimpleInstrument.bank:I
         3: .line 49
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SimpleInstrument.percussion:Z
         4: .line 50
            aload 0 /* this */
            ldc ""
            putfield com.sun.media.sound.SimpleInstrument.name:Ljava/lang/String;
         5: .line 51
            aload 0 /* this */
         6: .line 52
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.media.sound.SimpleInstrument.parts:Ljava/util/List;
         7: .line 56
            return
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/media/sound/SimpleInstrument;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SimpleInstrument this
         0: .line 59
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.parts:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 60
            return
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SimpleInstrument;

  public void add(com.sun.media.sound.ModelPerformer[], int, int, int, int, int);
    descriptor: ([Lcom/sun/media/sound/ModelPerformer;IIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=7
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer[] performers
        start local 2 // int keyFrom
        start local 3 // int keyTo
        start local 4 // int velFrom
        start local 5 // int velTo
        start local 6 // int exclusiveClass
         0: .line 64
            new com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart
            dup
            invokespecial com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.<init>:()V
            astore 7 /* part */
        start local 7 // com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart part
         1: .line 65
            aload 7 /* part */
            aload 1 /* performers */
            putfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.performers:[Lcom/sun/media/sound/ModelPerformer;
         2: .line 66
            aload 7 /* part */
            iload 2 /* keyFrom */
            putfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.keyFrom:I
         3: .line 67
            aload 7 /* part */
            iload 3 /* keyTo */
            putfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.keyTo:I
         4: .line 68
            aload 7 /* part */
            iload 4 /* velFrom */
            putfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.velFrom:I
         5: .line 69
            aload 7 /* part */
            iload 5 /* velTo */
            putfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.velTo:I
         6: .line 70
            aload 7 /* part */
            iload 6 /* exclusiveClass */
            putfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.exclusiveClass:I
         7: .line 71
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.parts:Ljava/util/List;
            aload 7 /* part */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 72
            return
        end local 7 // com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart part
        end local 6 // int exclusiveClass
        end local 5 // int velTo
        end local 4 // int velFrom
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelPerformer[] performers
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/sun/media/sound/SimpleInstrument;
            0    9     1      performers  [Lcom/sun/media/sound/ModelPerformer;
            0    9     2         keyFrom  I
            0    9     3           keyTo  I
            0    9     4         velFrom  I
            0    9     5           velTo  I
            0    9     6  exclusiveClass  I
            1    9     7            part  Lcom/sun/media/sound/SimpleInstrument$SimpleInstrumentPart;
    MethodParameters:
                Name  Flags
      performers      
      keyFrom         
      keyTo           
      velFrom         
      velTo           
      exclusiveClass  

  public void add(com.sun.media.sound.ModelPerformer[], int, int, int, int);
    descriptor: ([Lcom/sun/media/sound/ModelPerformer;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer[] performers
        start local 2 // int keyFrom
        start local 3 // int keyTo
        start local 4 // int velFrom
        start local 5 // int velTo
         0: .line 76
            aload 0 /* this */
            aload 1 /* performers */
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            iload 4 /* velFrom */
            iload 5 /* velTo */
            iconst_m1
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIIII)V
         1: .line 77
            return
        end local 5 // int velTo
        end local 4 // int velFrom
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelPerformer[] performers
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  performers  [Lcom/sun/media/sound/ModelPerformer;
            0    2     2     keyFrom  I
            0    2     3       keyTo  I
            0    2     4     velFrom  I
            0    2     5       velTo  I
    MethodParameters:
            Name  Flags
      performers  
      keyFrom     
      keyTo       
      velFrom     
      velTo       

  public void add(com.sun.media.sound.ModelPerformer[], int, int);
    descriptor: ([Lcom/sun/media/sound/ModelPerformer;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer[] performers
        start local 2 // int keyFrom
        start local 3 // int keyTo
         0: .line 80
            aload 0 /* this */
            aload 1 /* performers */
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            iconst_0
            bipush 127
            iconst_m1
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIIII)V
         1: .line 81
            return
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelPerformer[] performers
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  performers  [Lcom/sun/media/sound/ModelPerformer;
            0    2     2     keyFrom  I
            0    2     3       keyTo  I
    MethodParameters:
            Name  Flags
      performers  
      keyFrom     
      keyTo       

  public void add(com.sun.media.sound.ModelPerformer[]);
    descriptor: ([Lcom/sun/media/sound/ModelPerformer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer[] performers
         0: .line 84
            aload 0 /* this */
            aload 1 /* performers */
            iconst_0
            bipush 127
            iconst_0
            bipush 127
            iconst_m1
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIIII)V
         1: .line 85
            return
        end local 1 // com.sun.media.sound.ModelPerformer[] performers
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  performers  [Lcom/sun/media/sound/ModelPerformer;
    MethodParameters:
            Name  Flags
      performers  

  public void add(com.sun.media.sound.ModelPerformer, int, int, int, int, int);
    descriptor: (Lcom/sun/media/sound/ModelPerformer;IIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer performer
        start local 2 // int keyFrom
        start local 3 // int keyTo
        start local 4 // int velFrom
        start local 5 // int velTo
        start local 6 // int exclusiveClass
         0: .line 89
            aload 0 /* this */
            iconst_1
            anewarray com.sun.media.sound.ModelPerformer
            dup
            iconst_0
            aload 1 /* performer */
            aastore
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            iload 4 /* velFrom */
            iload 5 /* velTo */
         1: .line 90
            iload 6 /* exclusiveClass */
         2: .line 89
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIIII)V
         3: .line 91
            return
        end local 6 // int exclusiveClass
        end local 5 // int velTo
        end local 4 // int velFrom
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelPerformer performer
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/sun/media/sound/SimpleInstrument;
            0    4     1       performer  Lcom/sun/media/sound/ModelPerformer;
            0    4     2         keyFrom  I
            0    4     3           keyTo  I
            0    4     4         velFrom  I
            0    4     5           velTo  I
            0    4     6  exclusiveClass  I
    MethodParameters:
                Name  Flags
      performer       
      keyFrom         
      keyTo           
      velFrom         
      velTo           
      exclusiveClass  

  public void add(com.sun.media.sound.ModelPerformer, int, int, int, int);
    descriptor: (Lcom/sun/media/sound/ModelPerformer;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer performer
        start local 2 // int keyFrom
        start local 3 // int keyTo
        start local 4 // int velFrom
        start local 5 // int velTo
         0: .line 95
            aload 0 /* this */
            iconst_1
            anewarray com.sun.media.sound.ModelPerformer
            dup
            iconst_0
            aload 1 /* performer */
            aastore
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            iload 4 /* velFrom */
            iload 5 /* velTo */
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIII)V
         1: .line 96
            return
        end local 5 // int velTo
        end local 4 // int velFrom
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelPerformer performer
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  performer  Lcom/sun/media/sound/ModelPerformer;
            0    2     2    keyFrom  I
            0    2     3      keyTo  I
            0    2     4    velFrom  I
            0    2     5      velTo  I
    MethodParameters:
           Name  Flags
      performer  
      keyFrom    
      keyTo      
      velFrom    
      velTo      

  public void add(com.sun.media.sound.ModelPerformer, int, int);
    descriptor: (Lcom/sun/media/sound/ModelPerformer;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer performer
        start local 2 // int keyFrom
        start local 3 // int keyTo
         0: .line 99
            aload 0 /* this */
            iconst_1
            anewarray com.sun.media.sound.ModelPerformer
            dup
            iconst_0
            aload 1 /* performer */
            aastore
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;II)V
         1: .line 100
            return
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelPerformer performer
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  performer  Lcom/sun/media/sound/ModelPerformer;
            0    2     2    keyFrom  I
            0    2     3      keyTo  I
    MethodParameters:
           Name  Flags
      performer  
      keyFrom    
      keyTo      

  public void add(com.sun.media.sound.ModelPerformer);
    descriptor: (Lcom/sun/media/sound/ModelPerformer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelPerformer performer
         0: .line 103
            aload 0 /* this */
            iconst_1
            anewarray com.sun.media.sound.ModelPerformer
            dup
            iconst_0
            aload 1 /* performer */
            aastore
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;)V
         1: .line 104
            return
        end local 1 // com.sun.media.sound.ModelPerformer performer
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  performer  Lcom/sun/media/sound/ModelPerformer;
    MethodParameters:
           Name  Flags
      performer  

  public void add(com.sun.media.sound.ModelInstrument, int, int, int, int, int);
    descriptor: (Lcom/sun/media/sound/ModelInstrument;IIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelInstrument ins
        start local 2 // int keyFrom
        start local 3 // int keyTo
        start local 4 // int velFrom
        start local 5 // int velTo
        start local 6 // int exclusiveClass
         0: .line 108
            aload 0 /* this */
            aload 1 /* ins */
            invokevirtual com.sun.media.sound.ModelInstrument.getPerformers:()[Lcom/sun/media/sound/ModelPerformer;
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            iload 4 /* velFrom */
            iload 5 /* velTo */
            iload 6 /* exclusiveClass */
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIIII)V
         1: .line 109
            return
        end local 6 // int exclusiveClass
        end local 5 // int velTo
        end local 4 // int velFrom
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelInstrument ins
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1             ins  Lcom/sun/media/sound/ModelInstrument;
            0    2     2         keyFrom  I
            0    2     3           keyTo  I
            0    2     4         velFrom  I
            0    2     5           velTo  I
            0    2     6  exclusiveClass  I
    MethodParameters:
                Name  Flags
      ins             
      keyFrom         
      keyTo           
      velFrom         
      velTo           
      exclusiveClass  

  public void add(com.sun.media.sound.ModelInstrument, int, int, int, int);
    descriptor: (Lcom/sun/media/sound/ModelInstrument;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelInstrument ins
        start local 2 // int keyFrom
        start local 3 // int keyTo
        start local 4 // int velFrom
        start local 5 // int velTo
         0: .line 113
            aload 0 /* this */
            aload 1 /* ins */
            invokevirtual com.sun.media.sound.ModelInstrument.getPerformers:()[Lcom/sun/media/sound/ModelPerformer;
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            iload 4 /* velFrom */
            iload 5 /* velTo */
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;IIII)V
         1: .line 114
            return
        end local 5 // int velTo
        end local 4 // int velFrom
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelInstrument ins
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1      ins  Lcom/sun/media/sound/ModelInstrument;
            0    2     2  keyFrom  I
            0    2     3    keyTo  I
            0    2     4  velFrom  I
            0    2     5    velTo  I
    MethodParameters:
         Name  Flags
      ins      
      keyFrom  
      keyTo    
      velFrom  
      velTo    

  public void add(com.sun.media.sound.ModelInstrument, int, int);
    descriptor: (Lcom/sun/media/sound/ModelInstrument;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelInstrument ins
        start local 2 // int keyFrom
        start local 3 // int keyTo
         0: .line 117
            aload 0 /* this */
            aload 1 /* ins */
            invokevirtual com.sun.media.sound.ModelInstrument.getPerformers:()[Lcom/sun/media/sound/ModelPerformer;
            iload 2 /* keyFrom */
            iload 3 /* keyTo */
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;II)V
         1: .line 118
            return
        end local 3 // int keyTo
        end local 2 // int keyFrom
        end local 1 // com.sun.media.sound.ModelInstrument ins
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1      ins  Lcom/sun/media/sound/ModelInstrument;
            0    2     2  keyFrom  I
            0    2     3    keyTo  I
    MethodParameters:
         Name  Flags
      ins      
      keyFrom  
      keyTo    

  public void add(com.sun.media.sound.ModelInstrument);
    descriptor: (Lcom/sun/media/sound/ModelInstrument;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // com.sun.media.sound.ModelInstrument ins
         0: .line 121
            aload 0 /* this */
            aload 1 /* ins */
            invokevirtual com.sun.media.sound.ModelInstrument.getPerformers:()[Lcom/sun/media/sound/ModelPerformer;
            invokevirtual com.sun.media.sound.SimpleInstrument.add:([Lcom/sun/media/sound/ModelPerformer;)V
         1: .line 122
            return
        end local 1 // com.sun.media.sound.ModelInstrument ins
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1   ins  Lcom/sun/media/sound/ModelInstrument;
    MethodParameters:
      Name  Flags
      ins   

  public com.sun.media.sound.ModelPerformer[] getPerformers();
    descriptor: ()[Lcom/sun/media/sound/ModelPerformer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=1
        start local 0 // com.sun.media.sound.SimpleInstrument this
         0: .line 126
            iconst_0
            istore 1 /* percount */
        start local 1 // int percount
         1: .line 127
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.parts:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.sun.media.sound.SimpleInstrument int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart
            astore 2 /* part */
        start local 2 // com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart part
         3: .line 128
            aload 2 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.performers:[Lcom/sun/media/sound/ModelPerformer;
            ifnull 5
         4: .line 129
            iload 1 /* percount */
            aload 2 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.performers:[Lcom/sun/media/sound/ModelPerformer;
            arraylength
            iadd
            istore 1 /* percount */
        end local 2 // com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart part
         5: .line 127
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 131
            iload 1 /* percount */
            anewarray com.sun.media.sound.ModelPerformer
            astore 2 /* performers */
        start local 2 // com.sun.media.sound.ModelPerformer[] performers
         7: .line 132
            iconst_0
            istore 3 /* px */
        start local 3 // int px
         8: .line 133
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.parts:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 42
      StackMap locals: com.sun.media.sound.SimpleInstrument int com.sun.media.sound.ModelPerformer[] int top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart
            astore 4 /* part */
        start local 4 // com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart part
        10: .line 134
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.performers:[Lcom/sun/media/sound/ModelPerformer;
            ifnull 42
        11: .line 135
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.performers:[Lcom/sun/media/sound/ModelPerformer;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 41
      StackMap locals: com.sun.media.sound.SimpleInstrument int com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart java.util.Iterator top int int com.sun.media.sound.ModelPerformer[]
      StackMap stack:
        12: aload 9
            iload 7
            aaload
            astore 6 /* mperfm */
        start local 6 // com.sun.media.sound.ModelPerformer mperfm
        13: .line 136
            new com.sun.media.sound.ModelPerformer
            dup
            invokespecial com.sun.media.sound.ModelPerformer.<init>:()V
            astore 10 /* performer */
        start local 10 // com.sun.media.sound.ModelPerformer performer
        14: .line 137
            aload 10 /* performer */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.SimpleInstrument.getName:()Ljava/lang/String;
            invokevirtual com.sun.media.sound.ModelPerformer.setName:(Ljava/lang/String;)V
        15: .line 138
            aload 2 /* performers */
            iload 3 /* px */
            iinc 3 /* px */ 1
            aload 10 /* performer */
            aastore
        16: .line 140
            aload 10 /* performer */
        17: .line 141
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.isDefaultConnectionsEnabled:()Z
        18: .line 140
            invokevirtual com.sun.media.sound.ModelPerformer.setDefaultConnectionsEnabled:(Z)V
        19: .line 142
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getKeyFrom:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setKeyFrom:(I)V
        20: .line 143
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getKeyTo:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setKeyTo:(I)V
        21: .line 144
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getVelFrom:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setVelFrom:(I)V
        22: .line 145
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getVelTo:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setVelTo:(I)V
        23: .line 146
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getExclusiveClass:()I
            invokevirtual com.sun.media.sound.ModelPerformer.setExclusiveClass:(I)V
        24: .line 147
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.isSelfNonExclusive:()Z
            invokevirtual com.sun.media.sound.ModelPerformer.setSelfNonExclusive:(Z)V
        25: .line 148
            aload 10 /* performer */
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.isReleaseTriggered:()Z
            invokevirtual com.sun.media.sound.ModelPerformer.setReleaseTriggered:(Z)V
        26: .line 149
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.exclusiveClass:I
            iconst_m1
            if_icmpeq 28
        27: .line 150
            aload 10 /* performer */
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.exclusiveClass:I
            invokevirtual com.sun.media.sound.ModelPerformer.setExclusiveClass:(I)V
        28: .line 151
      StackMap locals: com.sun.media.sound.SimpleInstrument int com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart java.util.Iterator com.sun.media.sound.ModelPerformer int int com.sun.media.sound.ModelPerformer[] com.sun.media.sound.ModelPerformer
      StackMap stack:
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.keyFrom:I
            aload 10 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getKeyFrom:()I
            if_icmple 30
        29: .line 152
            aload 10 /* performer */
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.keyFrom:I
            invokevirtual com.sun.media.sound.ModelPerformer.setKeyFrom:(I)V
        30: .line 153
      StackMap locals:
      StackMap stack:
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.keyTo:I
            aload 10 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getKeyTo:()I
            if_icmpge 32
        31: .line 154
            aload 10 /* performer */
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.keyTo:I
            invokevirtual com.sun.media.sound.ModelPerformer.setKeyTo:(I)V
        32: .line 155
      StackMap locals:
      StackMap stack:
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.velFrom:I
            aload 10 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getVelFrom:()I
            if_icmple 34
        33: .line 156
            aload 10 /* performer */
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.velFrom:I
            invokevirtual com.sun.media.sound.ModelPerformer.setVelFrom:(I)V
        34: .line 157
      StackMap locals:
      StackMap stack:
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.velTo:I
            aload 10 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getVelTo:()I
            if_icmpge 36
        35: .line 158
            aload 10 /* performer */
            aload 4 /* part */
            getfield com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart.velTo:I
            invokevirtual com.sun.media.sound.ModelPerformer.setVelTo:(I)V
        36: .line 159
      StackMap locals:
      StackMap stack:
            aload 10 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        37: .line 160
            aload 10 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getConnectionBlocks:()Ljava/util/List;
        38: .line 161
            aload 6 /* mperfm */
            invokevirtual com.sun.media.sound.ModelPerformer.getConnectionBlocks:()Ljava/util/List;
        39: .line 160
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 10 // com.sun.media.sound.ModelPerformer performer
        end local 6 // com.sun.media.sound.ModelPerformer mperfm
        40: .line 135
            iinc 7 1
      StackMap locals: com.sun.media.sound.SimpleInstrument int com.sun.media.sound.ModelPerformer[] int com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart java.util.Iterator top int int com.sun.media.sound.ModelPerformer[]
      StackMap stack:
        41: iload 7
            iload 8
            if_icmplt 12
        end local 4 // com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart part
        42: .line 133
      StackMap locals: com.sun.media.sound.SimpleInstrument int com.sun.media.sound.ModelPerformer[] int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        43: .line 166
            aload 2 /* performers */
            areturn
        end local 3 // int px
        end local 2 // com.sun.media.sound.ModelPerformer[] performers
        end local 1 // int percount
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   44     0        this  Lcom/sun/media/sound/SimpleInstrument;
            1   44     1    percount  I
            3    5     2        part  Lcom/sun/media/sound/SimpleInstrument$SimpleInstrumentPart;
            7   44     2  performers  [Lcom/sun/media/sound/ModelPerformer;
            8   44     3          px  I
           10   42     4        part  Lcom/sun/media/sound/SimpleInstrument$SimpleInstrumentPart;
           13   40     6      mperfm  Lcom/sun/media/sound/ModelPerformer;
           14   40    10   performer  Lcom/sun/media/sound/ModelPerformer;

  public java.lang.Object getData();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SimpleInstrument this
         0: .line 170
            aconst_null
            areturn
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SimpleInstrument;

  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.SimpleInstrument this
         0: .line 174
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.name:Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SimpleInstrument;

  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.SimpleInstrument this
        start local 1 // java.lang.String name
         0: .line 178
            aload 0 /* this */
            aload 1 /* name */
            putfield com.sun.media.sound.SimpleInstrument.name:Ljava/lang/String;
         1: .line 179
            return
        end local 1 // java.lang.String name
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/SimpleInstrument;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public com.sun.media.sound.ModelPatch getPatch();
    descriptor: ()Lcom/sun/media/sound/ModelPatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.media.sound.SimpleInstrument this
         0: .line 182
            new com.sun.media.sound.ModelPatch
            dup
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.bank:I
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.preset:I
            aload 0 /* this */
            getfield com.sun.media.sound.SimpleInstrument.percussion:Z
            invokespecial com.sun.media.sound.ModelPatch.<init>:(IIZ)V
            areturn
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/SimpleInstrument;

  public void setPatch(javax.sound.midi.Patch);
    descriptor: (Ljavax/sound/midi/Patch;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.SimpleInstrument this
        start local 1 // javax.sound.midi.Patch patch
         0: .line 186
            aload 1 /* patch */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 5
            aload 1 /* patch */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
            ifeq 5
         1: .line 187
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.SimpleInstrument.percussion:Z
         2: .line 188
            aload 0 /* this */
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            putfield com.sun.media.sound.SimpleInstrument.bank:I
         3: .line 189
            aload 0 /* this */
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            putfield com.sun.media.sound.SimpleInstrument.preset:I
         4: .line 190
            goto 8
         5: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.SimpleInstrument.percussion:Z
         6: .line 192
            aload 0 /* this */
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            putfield com.sun.media.sound.SimpleInstrument.bank:I
         7: .line 193
            aload 0 /* this */
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            putfield com.sun.media.sound.SimpleInstrument.preset:I
         8: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.sound.midi.Patch patch
        end local 0 // com.sun.media.sound.SimpleInstrument this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/media/sound/SimpleInstrument;
            0    9     1  patch  Ljavax/sound/midi/Patch;
    MethodParameters:
       Name  Flags
      patch  

  public javax.sound.midi.Patch getPatch();
    descriptor: ()Ljavax/sound/midi/Patch;
    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.SimpleInstrument.getPatch:()Lcom/sun/media/sound/ModelPatch;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SimpleInstrument.java"
NestMembers:
  com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart
InnerClasses:
  private SimpleInstrumentPart = com.sun.media.sound.SimpleInstrument$SimpleInstrumentPart of com.sun.media.sound.SimpleInstrument