public final class com.sun.media.sound.WaveFileWriter extends com.sun.media.sound.SunFileWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.WaveFileWriter
  super_class: com.sun.media.sound.SunFileWriter
{
  static final int RIFF_MAGIC;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1380533830

  static final int WAVE_MAGIC;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1463899717

  static final int FMT_MAGIC;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1718449184

  static final int DATA_MAGIC;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1684108385

  static final int WAVE_FORMAT_UNKNOWN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int WAVE_FORMAT_PCM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int WAVE_FORMAT_ADPCM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int WAVE_FORMAT_ALAW;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int WAVE_FORMAT_MULAW;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int WAVE_FORMAT_OKI_ADPCM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final int WAVE_FORMAT_DIGISTD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  static final int WAVE_FORMAT_DIGIFIX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  static final int WAVE_IBM_FORMAT_MULAW;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 257

  static final int WAVE_IBM_FORMAT_ALAW;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 258

  static final int WAVE_IBM_FORMAT_ADPCM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 259

  static final int WAVE_FORMAT_DVI_ADPCM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  static final int WAVE_FORMAT_SX7383;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7175

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.media.sound.WaveFileWriter this
         0: .line 82
            aload 0 /* this */
            iconst_1
            anewarray javax.sound.sampled.AudioFileFormat$Type
            dup
            iconst_0
            getstatic javax.sound.sampled.AudioFileFormat$Type.WAVE:Ljavax/sound/sampled/AudioFileFormat$Type;
            aastore
            invokespecial com.sun.media.sound.SunFileWriter.<init>:([Ljavax/sound/sampled/AudioFileFormat$Type;)V
         1: .line 83
            return
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/media/sound/WaveFileWriter;

  public javax.sound.sampled.AudioFileFormat$Type[] getAudioFileTypes(javax.sound.sampled.AudioInputStream);
    descriptor: (Ljavax/sound/sampled/AudioInputStream;)[Ljavax/sound/sampled/AudioFileFormat$Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.media.sound.WaveFileWriter this
        start local 1 // javax.sound.sampled.AudioInputStream stream
         0: .line 91
            aload 0 /* this */
            getfield com.sun.media.sound.WaveFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
            arraylength
            anewarray javax.sound.sampled.AudioFileFormat$Type
            astore 2 /* filetypes */
        start local 2 // javax.sound.sampled.AudioFileFormat$Type[] filetypes
         1: .line 92
            aload 0 /* this */
            getfield com.sun.media.sound.WaveFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
            iconst_0
            aload 2 /* filetypes */
            iconst_0
            aload 0 /* this */
            getfield com.sun.media.sound.WaveFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 95
            aload 1 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 3 /* format */
        start local 3 // javax.sound.sampled.AudioFormat format
         3: .line 96
            aload 3 /* format */
            invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 4 /* encoding */
        start local 4 // javax.sound.sampled.AudioFormat$Encoding encoding
         4: .line 98
            getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 4 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 99
            getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 4 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 100
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 4 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 101
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 4 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 103
      StackMap locals: javax.sound.sampled.AudioFileFormat$Type[] javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding
      StackMap stack:
            aload 2 /* filetypes */
            areturn
         9: .line 106
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray javax.sound.sampled.AudioFileFormat$Type
            areturn
        end local 4 // javax.sound.sampled.AudioFormat$Encoding encoding
        end local 3 // javax.sound.sampled.AudioFormat format
        end local 2 // javax.sound.sampled.AudioFileFormat$Type[] filetypes
        end local 1 // javax.sound.sampled.AudioInputStream stream
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/media/sound/WaveFileWriter;
            0   10     1     stream  Ljavax/sound/sampled/AudioInputStream;
            1   10     2  filetypes  [Ljavax/sound/sampled/AudioFileFormat$Type;
            3   10     3     format  Ljavax/sound/sampled/AudioFormat;
            4   10     4   encoding  Ljavax/sound/sampled/AudioFormat$Encoding;
    MethodParameters:
        Name  Flags
      stream  

  public int write(javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioFileFormat$Type, java.io.OutputStream);
    descriptor: (Ljavax/sound/sampled/AudioInputStream;Ljavax/sound/sampled/AudioFileFormat$Type;Ljava/io/OutputStream;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.sun.media.sound.WaveFileWriter this
        start local 1 // javax.sound.sampled.AudioInputStream stream
        start local 2 // javax.sound.sampled.AudioFileFormat$Type fileType
        start local 3 // java.io.OutputStream out
         0: .line 117
            aload 0 /* this */
            aload 2 /* fileType */
            aload 1 /* stream */
            invokevirtual com.sun.media.sound.WaveFileWriter.getAudioFileFormat:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
            checkcast com.sun.media.sound.WaveFileFormat
            astore 4 /* waveFileFormat */
        start local 4 // com.sun.media.sound.WaveFileFormat waveFileFormat
         1: .line 122
            aload 1 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            ldc -1
            lcmp
            ifne 3
         2: .line 123
            new java.io.IOException
            dup
            ldc "stream length not specified"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 126
      StackMap locals: com.sun.media.sound.WaveFileFormat
      StackMap stack:
            aload 0 /* this */
            aload 1 /* stream */
            aload 4 /* waveFileFormat */
            aload 3 /* out */
            invokevirtual com.sun.media.sound.WaveFileWriter.writeWaveFile:(Ljava/io/InputStream;Lcom/sun/media/sound/WaveFileFormat;Ljava/io/OutputStream;)I
            istore 5 /* bytesWritten */
        start local 5 // int bytesWritten
         4: .line 127
            iload 5 /* bytesWritten */
            ireturn
        end local 5 // int bytesWritten
        end local 4 // com.sun.media.sound.WaveFileFormat waveFileFormat
        end local 3 // java.io.OutputStream out
        end local 2 // javax.sound.sampled.AudioFileFormat$Type fileType
        end local 1 // javax.sound.sampled.AudioInputStream stream
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lcom/sun/media/sound/WaveFileWriter;
            0    5     1          stream  Ljavax/sound/sampled/AudioInputStream;
            0    5     2        fileType  Ljavax/sound/sampled/AudioFileFormat$Type;
            0    5     3             out  Ljava/io/OutputStream;
            1    5     4  waveFileFormat  Lcom/sun/media/sound/WaveFileFormat;
            4    5     5    bytesWritten  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      stream    
      fileType  
      out       

  public int write(javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioFileFormat$Type, java.io.File);
    descriptor: (Ljavax/sound/sampled/AudioInputStream;Ljavax/sound/sampled/AudioFileFormat$Type;Ljava/io/File;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // com.sun.media.sound.WaveFileWriter this
        start local 1 // javax.sound.sampled.AudioInputStream stream
        start local 2 // javax.sound.sampled.AudioFileFormat$Type fileType
        start local 3 // java.io.File out
         0: .line 134
            aload 0 /* this */
            aload 2 /* fileType */
            aload 1 /* stream */
            invokevirtual com.sun.media.sound.WaveFileWriter.getAudioFileFormat:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
            checkcast com.sun.media.sound.WaveFileFormat
            astore 4 /* waveFileFormat */
        start local 4 // com.sun.media.sound.WaveFileFormat waveFileFormat
         1: .line 137
            new java.io.FileOutputStream
            dup
            aload 3 /* out */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 5 /* fos */
        start local 5 // java.io.FileOutputStream fos
         2: .line 138
            new java.io.BufferedOutputStream
            dup
            aload 5 /* fos */
            sipush 4096
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
            astore 6 /* bos */
        start local 6 // java.io.BufferedOutputStream bos
         3: .line 139
            aload 0 /* this */
            aload 1 /* stream */
            aload 4 /* waveFileFormat */
            aload 6 /* bos */
            invokevirtual com.sun.media.sound.WaveFileWriter.writeWaveFile:(Ljava/io/InputStream;Lcom/sun/media/sound/WaveFileFormat;Ljava/io/OutputStream;)I
            istore 7 /* bytesWritten */
        start local 7 // int bytesWritten
         4: .line 140
            aload 6 /* bos */
            invokevirtual java.io.BufferedOutputStream.close:()V
         5: .line 145
            aload 4 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getByteLength:()I
            iconst_m1
            if_icmpne 14
         6: .line 147
            iload 7 /* bytesWritten */
            aload 4 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getHeaderSize:()I
            isub
            istore 8 /* dataLength */
        start local 8 // int dataLength
         7: .line 148
            iload 8 /* dataLength */
            aload 4 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getHeaderSize:()I
            iadd
            bipush 8
            isub
            istore 9 /* riffLength */
        start local 9 // int riffLength
         8: .line 150
            new java.io.RandomAccessFile
            dup
            aload 3 /* out */
            ldc "rw"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 10 /* raf */
        start local 10 // java.io.RandomAccessFile raf
         9: .line 152
            aload 10 /* raf */
            iconst_4
            invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
            pop
        10: .line 153
            aload 10 /* raf */
            aload 0 /* this */
            iload 9 /* riffLength */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.RandomAccessFile.writeInt:(I)V
        11: .line 155
            aload 10 /* raf */
            bipush 12
            aload 4 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getWaveType:()I
            invokestatic com.sun.media.sound.WaveFileFormat.getFmtChunkSize:(I)I
            iadd
            iconst_4
            iadd
            invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
            pop
        12: .line 156
            aload 10 /* raf */
            aload 0 /* this */
            iload 8 /* dataLength */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.RandomAccessFile.writeInt:(I)V
        13: .line 158
            aload 10 /* raf */
            invokevirtual java.io.RandomAccessFile.close:()V
        end local 10 // java.io.RandomAccessFile raf
        end local 9 // int riffLength
        end local 8 // int dataLength
        14: .line 161
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFileFormat$Type java.io.File com.sun.media.sound.WaveFileFormat java.io.FileOutputStream java.io.BufferedOutputStream int
      StackMap stack:
            iload 7 /* bytesWritten */
            ireturn
        end local 7 // int bytesWritten
        end local 6 // java.io.BufferedOutputStream bos
        end local 5 // java.io.FileOutputStream fos
        end local 4 // com.sun.media.sound.WaveFileFormat waveFileFormat
        end local 3 // java.io.File out
        end local 2 // javax.sound.sampled.AudioFileFormat$Type fileType
        end local 1 // javax.sound.sampled.AudioInputStream stream
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/sun/media/sound/WaveFileWriter;
            0   15     1          stream  Ljavax/sound/sampled/AudioInputStream;
            0   15     2        fileType  Ljavax/sound/sampled/AudioFileFormat$Type;
            0   15     3             out  Ljava/io/File;
            1   15     4  waveFileFormat  Lcom/sun/media/sound/WaveFileFormat;
            2   15     5             fos  Ljava/io/FileOutputStream;
            3   15     6             bos  Ljava/io/BufferedOutputStream;
            4   15     7    bytesWritten  I
            7   14     8      dataLength  I
            8   14     9      riffLength  I
            9   14    10             raf  Ljava/io/RandomAccessFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      stream    
      fileType  
      out       

  private javax.sound.sampled.AudioFileFormat getAudioFileFormat(javax.sound.sampled.AudioFileFormat$Type, javax.sound.sampled.AudioInputStream);
    descriptor: (Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioFileFormat;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // com.sun.media.sound.WaveFileWriter this
        start local 1 // javax.sound.sampled.AudioFileFormat$Type type
        start local 2 // javax.sound.sampled.AudioInputStream stream
         0: .line 171
            aconst_null
            astore 3 /* format */
        start local 3 // javax.sound.sampled.AudioFormat format
         1: .line 172
            aconst_null
            astore 4 /* fileFormat */
        start local 4 // com.sun.media.sound.WaveFileFormat fileFormat
         2: .line 173
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 5 /* encoding */
        start local 5 // javax.sound.sampled.AudioFormat$Encoding encoding
         3: .line 175
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 6 /* streamFormat */
        start local 6 // javax.sound.sampled.AudioFormat streamFormat
         4: .line 176
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 7 /* streamEncoding */
        start local 7 // javax.sound.sampled.AudioFormat$Encoding streamEncoding
         5: .line 185
            aload 0 /* this */
            getfield com.sun.media.sound.WaveFileWriter.types:[Ljavax/sound/sampled/AudioFileFormat$Type;
            iconst_0
            aaload
            aload 1 /* type */
            invokevirtual javax.sound.sampled.AudioFileFormat$Type.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 186
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "File type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not supported."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 188
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.WaveFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding
      StackMap stack:
            iconst_1
            istore 10 /* waveType */
        start local 10 // int waveType
         8: .line 190
            getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 7 /* streamEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 191
            getstatic javax.sound.sampled.AudioFormat$Encoding.ULAW:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 7 /* streamEncoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 17
        10: .line 193
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.WaveFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding top top int
      StackMap stack:
            aload 7 /* streamEncoding */
            astore 5 /* encoding */
        11: .line 194
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            istore 8 /* sampleSizeInBits */
        start local 8 // int sampleSizeInBits
        12: .line 195
            aload 7 /* streamEncoding */
            getstatic javax.sound.sampled.AudioFormat$Encoding.ALAW:Ljavax/sound/sampled/AudioFormat$Encoding;
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 196
            bipush 6
            istore 10 /* waveType */
        14: .line 197
            goto 23
        15: .line 198
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.WaveFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int top int
      StackMap stack:
            bipush 7
            istore 10 /* waveType */
        16: .line 200
            goto 23
        end local 8 // int sampleSizeInBits
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.WaveFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding top top int
      StackMap stack:
        17: aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            bipush 8
            if_icmpne 21
        18: .line 201
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 5 /* encoding */
        19: .line 202
            bipush 8
            istore 8 /* sampleSizeInBits */
        start local 8 // int sampleSizeInBits
        20: .line 203
            goto 23
        end local 8 // int sampleSizeInBits
        21: .line 204
      StackMap locals:
      StackMap stack:
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 5 /* encoding */
        22: .line 205
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            istore 8 /* sampleSizeInBits */
        start local 8 // int sampleSizeInBits
        23: .line 209
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.WaveFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int top int
      StackMap stack:
            new javax.sound.sampled.AudioFormat
            dup
            aload 5 /* encoding */
        24: .line 210
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
        25: .line 211
            iload 8 /* sampleSizeInBits */
        26: .line 212
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
        27: .line 213
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
        28: .line 214
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
        29: .line 215
            iconst_0
        30: .line 209
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
            astore 3 /* format */
        31: .line 217
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            ldc -1
            lcmp
            ifeq 36
        32: .line 218
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            l2i
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            imul
        33: .line 219
            iload 10 /* waveType */
            invokestatic com.sun.media.sound.WaveFileFormat.getHeaderSize:(I)I
        34: .line 218
            iadd
            istore 9 /* fileSize */
        start local 9 // int fileSize
        35: .line 220
            goto 37
        end local 9 // int fileSize
        36: .line 221
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 9 /* fileSize */
        start local 9 // int fileSize
        37: .line 224
      StackMap locals: com.sun.media.sound.WaveFileWriter javax.sound.sampled.AudioFileFormat$Type javax.sound.sampled.AudioInputStream javax.sound.sampled.AudioFormat com.sun.media.sound.WaveFileFormat javax.sound.sampled.AudioFormat$Encoding javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding int int int
      StackMap stack:
            new com.sun.media.sound.WaveFileFormat
            dup
            getstatic javax.sound.sampled.AudioFileFormat$Type.WAVE:Ljavax/sound/sampled/AudioFileFormat$Type;
        38: .line 225
            iload 9 /* fileSize */
        39: .line 226
            aload 3 /* format */
        40: .line 227
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            l2i
        41: .line 224
            invokespecial com.sun.media.sound.WaveFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;ILjavax/sound/sampled/AudioFormat;I)V
            astore 4 /* fileFormat */
        42: .line 229
            aload 4 /* fileFormat */
            areturn
        end local 10 // int waveType
        end local 9 // int fileSize
        end local 8 // int sampleSizeInBits
        end local 7 // javax.sound.sampled.AudioFormat$Encoding streamEncoding
        end local 6 // javax.sound.sampled.AudioFormat streamFormat
        end local 5 // javax.sound.sampled.AudioFormat$Encoding encoding
        end local 4 // com.sun.media.sound.WaveFileFormat fileFormat
        end local 3 // javax.sound.sampled.AudioFormat format
        end local 2 // javax.sound.sampled.AudioInputStream stream
        end local 1 // javax.sound.sampled.AudioFileFormat$Type type
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   43     0              this  Lcom/sun/media/sound/WaveFileWriter;
            0   43     1              type  Ljavax/sound/sampled/AudioFileFormat$Type;
            0   43     2            stream  Ljavax/sound/sampled/AudioInputStream;
            1   43     3            format  Ljavax/sound/sampled/AudioFormat;
            2   43     4        fileFormat  Lcom/sun/media/sound/WaveFileFormat;
            3   43     5          encoding  Ljavax/sound/sampled/AudioFormat$Encoding;
            4   43     6      streamFormat  Ljavax/sound/sampled/AudioFormat;
            5   43     7    streamEncoding  Ljavax/sound/sampled/AudioFormat$Encoding;
           12   17     8  sampleSizeInBits  I
           20   21     8  sampleSizeInBits  I
           23   43     8  sampleSizeInBits  I
           35   36     9          fileSize  I
           37   43     9          fileSize  I
            8   43    10          waveType  I
    MethodParameters:
        Name  Flags
      type    
      stream  

  private int writeWaveFile(java.io.InputStream, com.sun.media.sound.WaveFileFormat, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Lcom/sun/media/sound/WaveFileFormat;Ljava/io/OutputStream;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // com.sun.media.sound.WaveFileWriter this
        start local 1 // java.io.InputStream in
        start local 2 // com.sun.media.sound.WaveFileFormat waveFileFormat
        start local 3 // java.io.OutputStream out
         0: .line 235
            iconst_0
            istore 4 /* bytesRead */
        start local 4 // int bytesRead
         1: .line 236
            iconst_0
            istore 5 /* bytesWritten */
        start local 5 // int bytesWritten
         2: .line 237
            aload 0 /* this */
            aload 2 /* waveFileFormat */
            aload 1 /* in */
            invokevirtual com.sun.media.sound.WaveFileWriter.getFileStream:(Lcom/sun/media/sound/WaveFileFormat;Ljava/io/InputStream;)Ljava/io/InputStream;
            astore 6 /* fileStream */
        start local 6 // java.io.InputStream fileStream
         3: .line 238
            sipush 4096
            newarray 8
            astore 7 /* buffer */
        start local 7 // byte[] buffer
         4: .line 239
            aload 2 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getByteLength:()I
            istore 8 /* maxLength */
        start local 8 // int maxLength
         5: .line 241
            goto 18
         6: .line 243
      StackMap locals: com.sun.media.sound.WaveFileWriter java.io.InputStream com.sun.media.sound.WaveFileFormat java.io.OutputStream int int java.io.InputStream byte[] int
      StackMap stack:
            iload 8 /* maxLength */
            ifle 16
         7: .line 244
            iload 4 /* bytesRead */
            iload 8 /* maxLength */
            if_icmpge 12
         8: .line 245
            aload 3 /* out */
            aload 7 /* buffer */
            iconst_0
            iload 4 /* bytesRead */
            invokevirtual java.io.OutputStream.write:([BII)V
         9: .line 246
            iload 5 /* bytesWritten */
            iload 4 /* bytesRead */
            iadd
            istore 5 /* bytesWritten */
        10: .line 247
            iload 8 /* maxLength */
            iload 4 /* bytesRead */
            isub
            istore 8 /* maxLength */
        11: .line 248
            goto 18
        12: .line 249
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 7 /* buffer */
            iconst_0
            iload 8 /* maxLength */
            invokevirtual java.io.OutputStream.write:([BII)V
        13: .line 250
            iload 5 /* bytesWritten */
            iload 8 /* maxLength */
            iadd
            istore 5 /* bytesWritten */
        14: .line 251
            iconst_0
            istore 8 /* maxLength */
        15: .line 252
            goto 19
        16: .line 255
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 7 /* buffer */
            iconst_0
            iload 4 /* bytesRead */
            invokevirtual java.io.OutputStream.write:([BII)V
        17: .line 256
            iload 5 /* bytesWritten */
            iload 4 /* bytesRead */
            iadd
            istore 5 /* bytesWritten */
        18: .line 241
      StackMap locals:
      StackMap stack:
            aload 6 /* fileStream */
            aload 7 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 4 /* bytesRead */
            ifge 6
        19: .line 260
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesWritten */
            ireturn
        end local 8 // int maxLength
        end local 7 // byte[] buffer
        end local 6 // java.io.InputStream fileStream
        end local 5 // int bytesWritten
        end local 4 // int bytesRead
        end local 3 // java.io.OutputStream out
        end local 2 // com.sun.media.sound.WaveFileFormat waveFileFormat
        end local 1 // java.io.InputStream in
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lcom/sun/media/sound/WaveFileWriter;
            0   20     1              in  Ljava/io/InputStream;
            0   20     2  waveFileFormat  Lcom/sun/media/sound/WaveFileFormat;
            0   20     3             out  Ljava/io/OutputStream;
            1   20     4       bytesRead  I
            2   20     5    bytesWritten  I
            3   20     6      fileStream  Ljava/io/InputStream;
            4   20     7          buffer  [B
            5   20     8       maxLength  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      in              
      waveFileFormat  
      out             

  private java.io.InputStream getFileStream(com.sun.media.sound.WaveFileFormat, java.io.InputStream);
    descriptor: (Lcom/sun/media/sound/WaveFileFormat;Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=27, args_size=3
        start local 0 // com.sun.media.sound.WaveFileWriter this
        start local 1 // com.sun.media.sound.WaveFileFormat waveFileFormat
        start local 2 // java.io.InputStream audioStream
         0: .line 267
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 3 /* audioFormat */
        start local 3 // javax.sound.sampled.AudioFormat audioFormat
         1: .line 268
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getHeaderSize:()I
            istore 4 /* headerLength */
        start local 4 // int headerLength
         2: .line 269
            ldc 1380533830
            istore 5 /* riffMagic */
        start local 5 // int riffMagic
         3: .line 270
            ldc 1463899717
            istore 6 /* waveMagic */
        start local 6 // int waveMagic
         4: .line 271
            ldc 1718449184
            istore 7 /* fmtMagic */
        start local 7 // int fmtMagic
         5: .line 272
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getWaveType:()I
            invokestatic com.sun.media.sound.WaveFileFormat.getFmtChunkSize:(I)I
            istore 8 /* fmtLength */
        start local 8 // int fmtLength
         6: .line 273
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getWaveType:()I
            i2s
            istore 9 /* wav_type */
        start local 9 // short wav_type
         7: .line 274
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            i2s
            istore 10 /* channels */
        start local 10 // short channels
         8: .line 275
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            i2s
            istore 11 /* sampleSizeInBits */
        start local 11 // short sampleSizeInBits
         9: .line 276
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
            f2i
            istore 12 /* sampleRate */
        start local 12 // int sampleRate
        10: .line 277
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            istore 13 /* frameSizeInBytes */
        start local 13 // int frameSizeInBytes
        11: .line 278
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
            pop
        12: .line 279
            iload 10 /* channels */
            iload 11 /* sampleSizeInBits */
            imul
            iload 12 /* sampleRate */
            imul
            bipush 8
            idiv
            istore 14 /* avgBytesPerSec */
        start local 14 // int avgBytesPerSec
        13: .line 280
            iload 11 /* sampleSizeInBits */
            bipush 8
            idiv
            iload 10 /* channels */
            imul
            i2s
            istore 15 /* blockAlign */
        start local 15 // short blockAlign
        14: .line 281
            ldc 1684108385
            istore 16 /* dataMagic */
        start local 16 // int dataMagic
        15: .line 282
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getFrameLength:()I
            iload 13 /* frameSizeInBytes */
            imul
            istore 17 /* dataLength */
        start local 17 // int dataLength
        16: .line 283
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getByteLength:()I
            pop
        17: .line 284
            iload 17 /* dataLength */
            iload 4 /* headerLength */
            iadd
            bipush 8
            isub
            istore 18 /* riffLength */
        start local 18 // int riffLength
        18: .line 286
            aconst_null
            astore 19 /* header */
        start local 19 // byte[] header
        19: .line 287
            aconst_null
            astore 20 /* headerStream */
        start local 20 // java.io.ByteArrayInputStream headerStream
        20: .line 288
            aconst_null
            astore 21 /* baos */
        start local 21 // java.io.ByteArrayOutputStream baos
        21: .line 289
            aconst_null
            astore 22 /* dos */
        start local 22 // java.io.DataOutputStream dos
        22: .line 290
            aconst_null
            astore 23 /* waveStream */
        start local 23 // java.io.SequenceInputStream waveStream
        23: .line 292
            aconst_null
            astore 24 /* audioStreamFormat */
        start local 24 // javax.sound.sampled.AudioFormat audioStreamFormat
        24: .line 293
            aconst_null
            astore 25 /* encoding */
        start local 25 // javax.sound.sampled.AudioFormat$Encoding encoding
        25: .line 294
            aload 2 /* audioStream */
            astore 26 /* codedAudioStream */
        start local 26 // java.io.InputStream codedAudioStream
        26: .line 297
            aload 2 /* audioStream */
            instanceof javax.sound.sampled.AudioInputStream
            ifeq 59
        27: .line 298
            aload 2 /* audioStream */
            checkcast javax.sound.sampled.AudioInputStream
            invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 24 /* audioStreamFormat */
        28: .line 300
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 25 /* encoding */
        29: .line 302
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 25 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 43
        30: .line 303
            iload 11 /* sampleSizeInBits */
            bipush 8
            if_icmpne 43
        31: .line 304
            iconst_1
            istore 9 /* wav_type */
        32: .line 306
            new javax.sound.sampled.AudioFormat
            dup
        33: .line 307
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
        34: .line 308
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
        35: .line 309
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
        36: .line 310
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
        37: .line 311
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
        38: .line 312
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
        39: .line 313
            iconst_0
        40: .line 306
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
        41: .line 314
            aload 2 /* audioStream */
            checkcast javax.sound.sampled.AudioInputStream
        42: .line 306
            invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
            astore 26 /* codedAudioStream */
        43: .line 317
      StackMap locals: com.sun.media.sound.WaveFileWriter com.sun.media.sound.WaveFileFormat java.io.InputStream javax.sound.sampled.AudioFormat int int int int int int int int int int int int int int int byte[] java.io.ByteArrayInputStream java.io.ByteArrayOutputStream java.io.DataOutputStream java.io.SequenceInputStream javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding java.io.InputStream
      StackMap stack:
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 25 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 44
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
            ifne 46
        44: .line 318
      StackMap locals:
      StackMap stack:
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 25 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 45
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
            ifeq 46
        45: .line 319
      StackMap locals:
      StackMap stack:
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            aload 25 /* encoding */
            invokevirtual javax.sound.sampled.AudioFormat$Encoding.equals:(Ljava/lang/Object;)Z
            ifeq 59
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.isBigEndian:()Z
            ifeq 59
        46: .line 320
      StackMap locals:
      StackMap stack:
            iload 11 /* sampleSizeInBits */
            bipush 8
            if_icmpeq 59
        47: .line 321
            iconst_1
            istore 9 /* wav_type */
        48: .line 323
            new javax.sound.sampled.AudioFormat
            dup
        49: .line 324
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
        50: .line 325
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
        51: .line 326
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
        52: .line 327
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
        53: .line 328
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
        54: .line 329
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
        55: .line 330
            iconst_0
        56: .line 323
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
        57: .line 331
            aload 2 /* audioStream */
            checkcast javax.sound.sampled.AudioInputStream
        58: .line 323
            invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
            astore 26 /* codedAudioStream */
        59: .line 339
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 21 /* baos */
        60: .line 340
            new java.io.DataOutputStream
            dup
            aload 21 /* baos */
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 22 /* dos */
        61: .line 343
            aload 22 /* dos */
            iload 5 /* riffMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        62: .line 344
            aload 22 /* dos */
            aload 0 /* this */
            iload 18 /* riffLength */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        63: .line 345
            aload 22 /* dos */
            iload 6 /* waveMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        64: .line 346
            aload 22 /* dos */
            iload 7 /* fmtMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        65: .line 347
            aload 22 /* dos */
            aload 0 /* this */
            iload 8 /* fmtLength */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        66: .line 348
            aload 22 /* dos */
            aload 0 /* this */
            iload 9 /* wav_type */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2littleShort:(S)S
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        67: .line 349
            aload 22 /* dos */
            aload 0 /* this */
            iload 10 /* channels */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2littleShort:(S)S
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        68: .line 350
            aload 22 /* dos */
            aload 0 /* this */
            iload 12 /* sampleRate */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        69: .line 351
            aload 22 /* dos */
            aload 0 /* this */
            iload 14 /* avgBytesPerSec */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        70: .line 352
            aload 22 /* dos */
            aload 0 /* this */
            iload 15 /* blockAlign */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2littleShort:(S)S
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        71: .line 353
            aload 22 /* dos */
            aload 0 /* this */
            iload 11 /* sampleSizeInBits */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2littleShort:(S)S
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        72: .line 355
            iload 9 /* wav_type */
            iconst_1
            if_icmpeq 74
        73: .line 357
            aload 22 /* dos */
            iconst_0
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        74: .line 360
      StackMap locals:
      StackMap stack:
            aload 22 /* dos */
            iload 16 /* dataMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        75: .line 361
            aload 22 /* dos */
            aload 0 /* this */
            iload 17 /* dataLength */
            invokevirtual com.sun.media.sound.WaveFileWriter.big2little:(I)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        76: .line 363
            aload 22 /* dos */
            invokevirtual java.io.DataOutputStream.close:()V
        77: .line 364
            aload 21 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 19 /* header */
        78: .line 365
            new java.io.ByteArrayInputStream
            dup
            aload 19 /* header */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 20 /* headerStream */
        79: .line 366
            new java.io.SequenceInputStream
            dup
            aload 20 /* headerStream */
            aload 26 /* codedAudioStream */
            invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
            astore 23 /* waveStream */
        80: .line 368
            aload 23 /* waveStream */
            areturn
        end local 26 // java.io.InputStream codedAudioStream
        end local 25 // javax.sound.sampled.AudioFormat$Encoding encoding
        end local 24 // javax.sound.sampled.AudioFormat audioStreamFormat
        end local 23 // java.io.SequenceInputStream waveStream
        end local 22 // java.io.DataOutputStream dos
        end local 21 // java.io.ByteArrayOutputStream baos
        end local 20 // java.io.ByteArrayInputStream headerStream
        end local 19 // byte[] header
        end local 18 // int riffLength
        end local 17 // int dataLength
        end local 16 // int dataMagic
        end local 15 // short blockAlign
        end local 14 // int avgBytesPerSec
        end local 13 // int frameSizeInBytes
        end local 12 // int sampleRate
        end local 11 // short sampleSizeInBits
        end local 10 // short channels
        end local 9 // short wav_type
        end local 8 // int fmtLength
        end local 7 // int fmtMagic
        end local 6 // int waveMagic
        end local 5 // int riffMagic
        end local 4 // int headerLength
        end local 3 // javax.sound.sampled.AudioFormat audioFormat
        end local 2 // java.io.InputStream audioStream
        end local 1 // com.sun.media.sound.WaveFileFormat waveFileFormat
        end local 0 // com.sun.media.sound.WaveFileWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   81     0               this  Lcom/sun/media/sound/WaveFileWriter;
            0   81     1     waveFileFormat  Lcom/sun/media/sound/WaveFileFormat;
            0   81     2        audioStream  Ljava/io/InputStream;
            1   81     3        audioFormat  Ljavax/sound/sampled/AudioFormat;
            2   81     4       headerLength  I
            3   81     5          riffMagic  I
            4   81     6          waveMagic  I
            5   81     7           fmtMagic  I
            6   81     8          fmtLength  I
            7   81     9           wav_type  S
            8   81    10           channels  S
            9   81    11   sampleSizeInBits  S
           10   81    12         sampleRate  I
           11   81    13   frameSizeInBytes  I
           13   81    14     avgBytesPerSec  I
           14   81    15         blockAlign  S
           15   81    16          dataMagic  I
           16   81    17         dataLength  I
           18   81    18         riffLength  I
           19   81    19             header  [B
           20   81    20       headerStream  Ljava/io/ByteArrayInputStream;
           21   81    21               baos  Ljava/io/ByteArrayOutputStream;
           22   81    22                dos  Ljava/io/DataOutputStream;
           23   81    23         waveStream  Ljava/io/SequenceInputStream;
           24   81    24  audioStreamFormat  Ljavax/sound/sampled/AudioFormat;
           25   81    25           encoding  Ljavax/sound/sampled/AudioFormat$Encoding;
           26   81    26   codedAudioStream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      waveFileFormat  
      audioStream     
}
SourceFile: "WaveFileWriter.java"
InnerClasses:
  public Type = javax.sound.sampled.AudioFileFormat$Type of javax.sound.sampled.AudioFileFormat
  public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat