public abstract class com.sun.media.sound.ModelAbstractOscillator implements com.sun.media.sound.ModelOscillator, com.sun.media.sound.ModelOscillatorStream, javax.sound.midi.Soundbank
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.media.sound.ModelAbstractOscillator
  super_class: java.lang.Object
{
  protected float pitch;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected float samplerate;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected javax.sound.midi.MidiChannel channel;
    descriptor: Ljavax/sound/midi/MidiChannel;
    flags: (0x0004) ACC_PROTECTED

  protected javax.sound.midi.VoiceStatus voice;
    descriptor: Ljavax/sound/midi/VoiceStatus;
    flags: (0x0004) ACC_PROTECTED

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

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            ldc 6000.0
            putfield com.sun.media.sound.ModelAbstractOscillator.pitch:F
         2: .line 49
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.ModelAbstractOscillator.on:Z
         3: .line 40
            return
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 52
            return
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 55
            return
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;
    Exceptions:
      throws java.io.IOException

  public void noteOff(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // int velocity
         0: .line 58
            aload 0 /* this */
            iconst_0
            putfield com.sun.media.sound.ModelAbstractOscillator.on:Z
         1: .line 59
            return
        end local 1 // int velocity
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0    2     1  velocity  I
    MethodParameters:
          Name  Flags
      velocity  

  public void noteOn(javax.sound.midi.MidiChannel, javax.sound.midi.VoiceStatus, int, int);
    descriptor: (Ljavax/sound/midi/MidiChannel;Ljavax/sound/midi/VoiceStatus;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // javax.sound.midi.MidiChannel channel
        start local 2 // javax.sound.midi.VoiceStatus voice
        start local 3 // int noteNumber
        start local 4 // int velocity
         0: .line 63
            aload 0 /* this */
            aload 1 /* channel */
            putfield com.sun.media.sound.ModelAbstractOscillator.channel:Ljavax/sound/midi/MidiChannel;
         1: .line 64
            aload 0 /* this */
            aload 2 /* voice */
            putfield com.sun.media.sound.ModelAbstractOscillator.voice:Ljavax/sound/midi/VoiceStatus;
         2: .line 65
            aload 0 /* this */
            iload 3 /* noteNumber */
            putfield com.sun.media.sound.ModelAbstractOscillator.noteNumber:I
         3: .line 66
            aload 0 /* this */
            iload 4 /* velocity */
            putfield com.sun.media.sound.ModelAbstractOscillator.velocity:I
         4: .line 67
            aload 0 /* this */
            iconst_1
            putfield com.sun.media.sound.ModelAbstractOscillator.on:Z
         5: .line 68
            return
        end local 4 // int velocity
        end local 3 // int noteNumber
        end local 2 // javax.sound.midi.VoiceStatus voice
        end local 1 // javax.sound.midi.MidiChannel channel
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0    6     1     channel  Ljavax/sound/midi/MidiChannel;
            0    6     2       voice  Ljavax/sound/midi/VoiceStatus;
            0    6     3  noteNumber  I
            0    6     4    velocity  I
    MethodParameters:
            Name  Flags
      channel     
      voice       
      noteNumber  
      velocity    

  public int read(float[][], int, int);
    descriptor: ([[FII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // float[][] buffer
        start local 2 // int offset
        start local 3 // int len
         0: .line 71
            iconst_m1
            ireturn
        end local 3 // int len
        end local 2 // int offset
        end local 1 // float[][] buffer
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0    1     1  buffer  [[F
            0    1     2  offset  I
            0    1     3     len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      len     

  public javax.sound.midi.MidiChannel getChannel();
    descriptor: ()Ljavax/sound/midi/MidiChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 75
            aload 0 /* this */
            getfield com.sun.media.sound.ModelAbstractOscillator.channel:Ljavax/sound/midi/MidiChannel;
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public javax.sound.midi.VoiceStatus getVoice();
    descriptor: ()Ljavax/sound/midi/VoiceStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 79
            aload 0 /* this */
            getfield com.sun.media.sound.ModelAbstractOscillator.voice:Ljavax/sound/midi/VoiceStatus;
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

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

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

  public boolean isOn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 91
            aload 0 /* this */
            getfield com.sun.media.sound.ModelAbstractOscillator.on:Z
            ireturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public void setPitch(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // float pitch
         0: .line 95
            aload 0 /* this */
            fload 1 /* pitch */
            putfield com.sun.media.sound.ModelAbstractOscillator.pitch:F
         1: .line 96
            return
        end local 1 // float pitch
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0    2     1  pitch  F
    MethodParameters:
       Name  Flags
      pitch  

  public float getPitch();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 99
            aload 0 /* this */
            getfield com.sun.media.sound.ModelAbstractOscillator.pitch:F
            freturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public void setSampleRate(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // float samplerate
         0: .line 103
            aload 0 /* this */
            fload 1 /* samplerate */
            putfield com.sun.media.sound.ModelAbstractOscillator.samplerate:F
         1: .line 104
            return
        end local 1 // float samplerate
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0    2     1  samplerate  F
    MethodParameters:
            Name  Flags
      samplerate  

  public float getSampleRate();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 107
            aload 0 /* this */
            getfield com.sun.media.sound.ModelAbstractOscillator.samplerate:F
            freturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public float getAttenuation();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 111
            fconst_0
            freturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public int getChannels();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 115
            iconst_1
            ireturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  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.ModelAbstractOscillator this
         0: .line 119
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public javax.sound.midi.Patch getPatch();
    descriptor: ()Ljavax/sound/midi/Patch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 123
            new javax.sound.midi.Patch
            dup
            iconst_0
            iconst_0
            invokespecial javax.sound.midi.Patch.<init>:(II)V
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public com.sun.media.sound.ModelOscillatorStream open(float);
    descriptor: (F)Lcom/sun/media/sound/ModelOscillatorStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // float samplerate
         0: .line 129
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.sun.media.sound.ModelAbstractOscillator
            astore 2 /* oscs */
        start local 2 // com.sun.media.sound.ModelAbstractOscillator oscs
         1: .line 130
            goto 6
        end local 2 // com.sun.media.sound.ModelAbstractOscillator oscs
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
         2: astore 3 /* e */
        start local 3 // java.lang.InstantiationException e
         3: .line 131
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.InstantiationException e
         4: .line 132
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
         5: .line 133
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException e
        start local 2 // com.sun.media.sound.ModelAbstractOscillator oscs
         6: .line 135
      StackMap locals: com.sun.media.sound.ModelAbstractOscillator
      StackMap stack:
            aload 2 /* oscs */
            fload 1 /* samplerate */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.setSampleRate:(F)V
         7: .line 136
            aload 2 /* oscs */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.init:()V
         8: .line 137
            aload 2 /* oscs */
            areturn
        end local 2 // com.sun.media.sound.ModelAbstractOscillator oscs
        end local 1 // float samplerate
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0    9     1  samplerate  F
            1    2     2        oscs  Lcom/sun/media/sound/ModelAbstractOscillator;
            6    9     2        oscs  Lcom/sun/media/sound/ModelAbstractOscillator;
            3    4     3           e  Ljava/lang/InstantiationException;
            5    6     3           e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InstantiationException
           0     1       4  Class java.lang.IllegalAccessException
    MethodParameters:
            Name  Flags
      samplerate  

  public com.sun.media.sound.ModelPerformer getPerformer();
    descriptor: ()Lcom/sun/media/sound/ModelPerformer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 142
            new com.sun.media.sound.ModelPerformer
            dup
            invokespecial com.sun.media.sound.ModelPerformer.<init>:()V
            astore 1 /* performer */
        start local 1 // com.sun.media.sound.ModelPerformer performer
         1: .line 143
            aload 1 /* performer */
            invokevirtual com.sun.media.sound.ModelPerformer.getOscillators:()Ljava/util/List;
            aload 0 /* this */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 144
            aload 1 /* performer */
            areturn
        end local 1 // com.sun.media.sound.ModelPerformer performer
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/media/sound/ModelAbstractOscillator;
            1    3     1  performer  Lcom/sun/media/sound/ModelPerformer;

  public com.sun.media.sound.ModelInstrument getInstrument();
    descriptor: ()Lcom/sun/media/sound/ModelInstrument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 150
            new com.sun.media.sound.SimpleInstrument
            dup
            invokespecial com.sun.media.sound.SimpleInstrument.<init>:()V
            astore 1 /* ins */
        start local 1 // com.sun.media.sound.SimpleInstrument ins
         1: .line 151
            aload 1 /* ins */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getName:()Ljava/lang/String;
            invokevirtual com.sun.media.sound.SimpleInstrument.setName:(Ljava/lang/String;)V
         2: .line 152
            aload 1 /* ins */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getPerformer:()Lcom/sun/media/sound/ModelPerformer;
            invokevirtual com.sun.media.sound.SimpleInstrument.add:(Lcom/sun/media/sound/ModelPerformer;)V
         3: .line 153
            aload 1 /* ins */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getPatch:()Ljavax/sound/midi/Patch;
            invokevirtual com.sun.media.sound.SimpleInstrument.setPatch:(Ljavax/sound/midi/Patch;)V
         4: .line 154
            aload 1 /* ins */
            areturn
        end local 1 // com.sun.media.sound.SimpleInstrument ins
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;
            1    5     1   ins  Lcom/sun/media/sound/SimpleInstrument;

  public javax.sound.midi.Soundbank getSoundBank();
    descriptor: ()Ljavax/sound/midi/Soundbank;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 160
            new com.sun.media.sound.SimpleSoundbank
            dup
            invokespecial com.sun.media.sound.SimpleSoundbank.<init>:()V
            astore 1 /* sbk */
        start local 1 // com.sun.media.sound.SimpleSoundbank sbk
         1: .line 161
            aload 1 /* sbk */
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getInstrument:()Lcom/sun/media/sound/ModelInstrument;
            invokevirtual com.sun.media.sound.SimpleSoundbank.addInstrument:(Ljavax/sound/midi/Instrument;)V
         2: .line 162
            aload 1 /* sbk */
            areturn
        end local 1 // com.sun.media.sound.SimpleSoundbank sbk
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;
            1    3     1   sbk  Lcom/sun/media/sound/SimpleSoundbank;

  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.ModelAbstractOscillator this
         0: .line 166
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  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=4, args_size=2
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
        start local 1 // javax.sound.midi.Patch patch
         0: .line 170
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getInstrument:()Lcom/sun/media/sound/ModelInstrument;
            astore 2 /* ins */
        start local 2 // javax.sound.midi.Instrument ins
         1: .line 171
            aload 2 /* ins */
            invokevirtual javax.sound.midi.Instrument.getPatch:()Ljavax/sound/midi/Patch;
            astore 3 /* p */
        start local 3 // javax.sound.midi.Patch p
         2: .line 172
            aload 3 /* p */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getBank:()I
            if_icmpeq 4
         3: .line 173
            aconst_null
            areturn
         4: .line 174
      StackMap locals: javax.sound.midi.Instrument javax.sound.midi.Patch
      StackMap stack:
            aload 3 /* p */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            aload 1 /* patch */
            invokevirtual javax.sound.midi.Patch.getProgram:()I
            if_icmpeq 6
         5: .line 175
            aconst_null
            areturn
         6: .line 176
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 10
            aload 1 /* patch */
            instanceof com.sun.media.sound.ModelPatch
            ifeq 10
         7: .line 177
            aload 3 /* p */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
         8: .line 178
            aload 1 /* patch */
            checkcast com.sun.media.sound.ModelPatch
            invokevirtual com.sun.media.sound.ModelPatch.isPercussion:()Z
            if_icmpeq 10
         9: .line 179
            aconst_null
            areturn
        10: .line 182
      StackMap locals:
      StackMap stack:
            aload 2 /* ins */
            areturn
        end local 3 // javax.sound.midi.Patch p
        end local 2 // javax.sound.midi.Instrument ins
        end local 1 // javax.sound.midi.Patch patch
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/media/sound/ModelAbstractOscillator;
            0   11     1  patch  Ljavax/sound/midi/Patch;
            1   11     2    ins  Ljavax/sound/midi/Instrument;
            2   11     3      p  Ljavax/sound/midi/Patch;
    MethodParameters:
       Name  Flags
      patch  

  public javax.sound.midi.Instrument[] getInstruments();
    descriptor: ()[Ljavax/sound/midi/Instrument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 186
            iconst_1
            anewarray javax.sound.midi.Instrument
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual com.sun.media.sound.ModelAbstractOscillator.getInstrument:()Lcom/sun/media/sound/ModelInstrument;
            aastore
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public javax.sound.midi.SoundbankResource[] getResources();
    descriptor: ()[Ljavax/sound/midi/SoundbankResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 190
            iconst_0
            anewarray javax.sound.midi.SoundbankResource
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  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.ModelAbstractOscillator this
         0: .line 194
            aconst_null
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;

  public java.lang.String getVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.ModelAbstractOscillator this
         0: .line 198
            aconst_null
            areturn
        end local 0 // com.sun.media.sound.ModelAbstractOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/ModelAbstractOscillator;
}
SourceFile: "ModelAbstractOscillator.java"