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 80
            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 81
            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 89
            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 90
            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 93
            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 94
            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 96
            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 97
            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 98
            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 99
            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 101
      StackMap locals: javax.sound.sampled.AudioFileFormat$Type[] javax.sound.sampled.AudioFormat javax.sound.sampled.AudioFormat$Encoding
      StackMap stack:
            aload 2 /* filetypes */
            areturn
         9: .line 104
      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 115
            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 120
            aload 1 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            ldc -1
            lcmp
            ifne 3
         2: .line 121
            new java.io.IOException
            dup
            ldc "stream length not specified"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 124
      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 125
            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 132
            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 135
            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 136
            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 137
            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 138
            aload 6 /* bos */
            invokevirtual java.io.BufferedOutputStream.close:()V
         5: .line 143
            aload 4 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getByteLength:()I
            iconst_m1
            if_icmpne 14
         6: .line 145
            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 146
            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 148
            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 150
            aload 10 /* raf */
            iconst_4
            invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
            pop
        10: .line 151
            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 153
            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 154
            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 156
            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 159
      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 169
            aconst_null
            astore 3 /* format */
        start local 3 // javax.sound.sampled.AudioFormat format
         1: .line 170
            aconst_null
            astore 4 /* fileFormat */
        start local 4 // com.sun.media.sound.WaveFileFormat fileFormat
         2: .line 171
            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 173
            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 174
            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 183
            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 184
            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 186
      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 188
            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 189
            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 191
      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 192
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            istore 8 /* sampleSizeInBits */
        start local 8 // int sampleSizeInBits
        12: .line 193
            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 194
            bipush 6
            istore 10 /* waveType */
        14: .line 195
            goto 23
        15: .line 196
      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 198
            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 199
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 5 /* encoding */
        19: .line 200
            bipush 8
            istore 8 /* sampleSizeInBits */
        start local 8 // int sampleSizeInBits
        20: .line 201
            goto 23
        end local 8 // int sampleSizeInBits
        21: .line 202
      StackMap locals:
      StackMap stack:
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 5 /* encoding */
        22: .line 203
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            istore 8 /* sampleSizeInBits */
        start local 8 // int sampleSizeInBits
        23: .line 207
      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 208
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
        25: .line 209
            iload 8 /* sampleSizeInBits */
        26: .line 210
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
        27: .line 211
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
        28: .line 212
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
        29: .line 213
            iconst_0
        30: .line 207
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
            astore 3 /* format */
        31: .line 215
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            ldc -1
            lcmp
            ifeq 36
        32: .line 216
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            l2i
            aload 6 /* streamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            imul
        33: .line 217
            iload 10 /* waveType */
            invokestatic com.sun.media.sound.WaveFileFormat.getHeaderSize:(I)I
        34: .line 216
            iadd
            istore 9 /* fileSize */
        start local 9 // int fileSize
        35: .line 218
            goto 37
        end local 9 // int fileSize
        36: .line 219
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 9 /* fileSize */
        start local 9 // int fileSize
        37: .line 222
      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 223
            iload 9 /* fileSize */
        39: .line 224
            aload 3 /* format */
        40: .line 225
            aload 2 /* stream */
            invokevirtual javax.sound.sampled.AudioInputStream.getFrameLength:()J
            l2i
        41: .line 222
            invokespecial com.sun.media.sound.WaveFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;ILjavax/sound/sampled/AudioFormat;I)V
            astore 4 /* fileFormat */
        42: .line 227
            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 233
            iconst_0
            istore 4 /* bytesRead */
        start local 4 // int bytesRead
         1: .line 234
            iconst_0
            istore 5 /* bytesWritten */
        start local 5 // int bytesWritten
         2: .line 235
            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 236
            sipush 4096
            newarray 8
            astore 7 /* buffer */
        start local 7 // byte[] buffer
         4: .line 237
            aload 2 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getByteLength:()I
            istore 8 /* maxLength */
        start local 8 // int maxLength
         5: .line 239
            goto 18
         6: .line 241
      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 242
            iload 4 /* bytesRead */
            iload 8 /* maxLength */
            if_icmpge 12
         8: .line 243
            aload 3 /* out */
            aload 7 /* buffer */
            iconst_0
            iload 4 /* bytesRead */
            invokevirtual java.io.OutputStream.write:([BII)V
         9: .line 244
            iload 5 /* bytesWritten */
            iload 4 /* bytesRead */
            iadd
            istore 5 /* bytesWritten */
        10: .line 245
            iload 8 /* maxLength */
            iload 4 /* bytesRead */
            isub
            istore 8 /* maxLength */
        11: .line 246
            goto 18
        12: .line 247
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 7 /* buffer */
            iconst_0
            iload 8 /* maxLength */
            invokevirtual java.io.OutputStream.write:([BII)V
        13: .line 248
            iload 5 /* bytesWritten */
            iload 8 /* maxLength */
            iadd
            istore 5 /* bytesWritten */
        14: .line 249
            iconst_0
            istore 8 /* maxLength */
        15: .line 250
            goto 19
        16: .line 253
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 7 /* buffer */
            iconst_0
            iload 4 /* bytesRead */
            invokevirtual java.io.OutputStream.write:([BII)V
        17: .line 254
            iload 5 /* bytesWritten */
            iload 4 /* bytesRead */
            iadd
            istore 5 /* bytesWritten */
        18: .line 239
      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 258
      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 265
            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 266
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getHeaderSize:()I
            istore 4 /* headerLength */
        start local 4 // int headerLength
         2: .line 267
            ldc 1380533830
            istore 5 /* riffMagic */
        start local 5 // int riffMagic
         3: .line 268
            ldc 1463899717
            istore 6 /* waveMagic */
        start local 6 // int waveMagic
         4: .line 269
            ldc 1718449184
            istore 7 /* fmtMagic */
        start local 7 // int fmtMagic
         5: .line 270
            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 271
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getWaveType:()I
            i2s
            istore 9 /* wav_type */
        start local 9 // short wav_type
         7: .line 272
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
            i2s
            istore 10 /* channels */
        start local 10 // short channels
         8: .line 273
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
            i2s
            istore 11 /* sampleSizeInBits */
        start local 11 // short sampleSizeInBits
         9: .line 274
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
            f2i
            istore 12 /* sampleRate */
        start local 12 // int sampleRate
        10: .line 275
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
            istore 13 /* frameSizeInBytes */
        start local 13 // int frameSizeInBytes
        11: .line 276
            aload 3 /* audioFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
            pop
        12: .line 277
            iload 10 /* channels */
            iload 11 /* sampleSizeInBits */
            imul
            iload 12 /* sampleRate */
            imul
            bipush 8
            idiv
            istore 14 /* avgBytesPerSec */
        start local 14 // int avgBytesPerSec
        13: .line 278
            iload 11 /* sampleSizeInBits */
            bipush 8
            idiv
            iload 10 /* channels */
            imul
            i2s
            istore 15 /* blockAlign */
        start local 15 // short blockAlign
        14: .line 279
            ldc 1684108385
            istore 16 /* dataMagic */
        start local 16 // int dataMagic
        15: .line 280
            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 281
            aload 1 /* waveFileFormat */
            invokevirtual com.sun.media.sound.WaveFileFormat.getByteLength:()I
            pop
        17: .line 282
            iload 17 /* dataLength */
            iload 4 /* headerLength */
            iadd
            bipush 8
            isub
            istore 18 /* riffLength */
        start local 18 // int riffLength
        18: .line 284
            aconst_null
            astore 19 /* header */
        start local 19 // byte[] header
        19: .line 285
            aconst_null
            astore 20 /* headerStream */
        start local 20 // java.io.ByteArrayInputStream headerStream
        20: .line 286
            aconst_null
            astore 21 /* baos */
        start local 21 // java.io.ByteArrayOutputStream baos
        21: .line 287
            aconst_null
            astore 22 /* dos */
        start local 22 // java.io.DataOutputStream dos
        22: .line 288
            aconst_null
            astore 23 /* waveStream */
        start local 23 // java.io.SequenceInputStream waveStream
        23: .line 290
            aconst_null
            astore 24 /* audioStreamFormat */
        start local 24 // javax.sound.sampled.AudioFormat audioStreamFormat
        24: .line 291
            aconst_null
            astore 25 /* encoding */
        start local 25 // javax.sound.sampled.AudioFormat$Encoding encoding
        25: .line 292
            aload 2 /* audioStream */
            astore 26 /* codedAudioStream */
        start local 26 // java.io.InputStream codedAudioStream
        26: .line 295
            aload 2 /* audioStream */
            instanceof javax.sound.sampled.AudioInputStream
            ifeq 59
        27: .line 296
            aload 2 /* audioStream */
            checkcast javax.sound.sampled.AudioInputStream
            invokevirtual javax.sound.sampled.AudioInputStream.getFormat:()Ljavax/sound/sampled/AudioFormat;
            astore 24 /* audioStreamFormat */
        28: .line 298
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getEncoding:()Ljavax/sound/sampled/AudioFormat$Encoding;
            astore 25 /* encoding */
        29: .line 300
            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 301
            iload 11 /* sampleSizeInBits */
            bipush 8
            if_icmpne 43
        31: .line 302
            iconst_1
            istore 9 /* wav_type */
        32: .line 304
            new javax.sound.sampled.AudioFormat
            dup
        33: .line 305
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
        34: .line 306
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
        35: .line 307
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
        36: .line 308
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
        37: .line 309
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
        38: .line 310
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
        39: .line 311
            iconst_0
        40: .line 304
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
        41: .line 312
            aload 2 /* audioStream */
            checkcast javax.sound.sampled.AudioInputStream
        42: .line 304
            invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
            astore 26 /* codedAudioStream */
        43: .line 315
      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 316
      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 317
      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 318
      StackMap locals:
      StackMap stack:
            iload 11 /* sampleSizeInBits */
            bipush 8
            if_icmpeq 59
        47: .line 319
            iconst_1
            istore 9 /* wav_type */
        48: .line 321
            new javax.sound.sampled.AudioFormat
            dup
        49: .line 322
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
        50: .line 323
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleRate:()F
        51: .line 324
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getSampleSizeInBits:()I
        52: .line 325
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getChannels:()I
        53: .line 326
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameSize:()I
        54: .line 327
            aload 24 /* audioStreamFormat */
            invokevirtual javax.sound.sampled.AudioFormat.getFrameRate:()F
        55: .line 328
            iconst_0
        56: .line 321
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZ)V
        57: .line 329
            aload 2 /* audioStream */
            checkcast javax.sound.sampled.AudioInputStream
        58: .line 321
            invokestatic javax.sound.sampled.AudioSystem.getAudioInputStream:(Ljavax/sound/sampled/AudioFormat;Ljavax/sound/sampled/AudioInputStream;)Ljavax/sound/sampled/AudioInputStream;
            astore 26 /* codedAudioStream */
        59: .line 337
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 21 /* baos */
        60: .line 338
            new java.io.DataOutputStream
            dup
            aload 21 /* baos */
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 22 /* dos */
        61: .line 341
            aload 22 /* dos */
            iload 5 /* riffMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        62: .line 342
            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 343
            aload 22 /* dos */
            iload 6 /* waveMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        64: .line 344
            aload 22 /* dos */
            iload 7 /* fmtMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        65: .line 345
            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 346
            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 347
            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 348
            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 349
            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 350
            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 351
            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 353
            iload 9 /* wav_type */
            iconst_1
            if_icmpeq 74
        73: .line 355
            aload 22 /* dos */
            iconst_0
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        74: .line 358
      StackMap locals:
      StackMap stack:
            aload 22 /* dos */
            iload 16 /* dataMagic */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        75: .line 359
            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 361
            aload 22 /* dos */
            invokevirtual java.io.DataOutputStream.close:()V
        77: .line 362
            aload 21 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 19 /* header */
        78: .line 363
            new java.io.ByteArrayInputStream
            dup
            aload 19 /* header */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 20 /* headerStream */
        79: .line 364
            new java.io.SequenceInputStream
            dup
            aload 20 /* headerStream */
        80: .line 365
            new com.sun.media.sound.SunFileWriter$NoCloseInputStream
            dup
            aload 0 /* this */
            aload 26 /* codedAudioStream */
            invokespecial com.sun.media.sound.SunFileWriter$NoCloseInputStream.<init>:(Lcom/sun/media/sound/SunFileWriter;Ljava/io/InputStream;)V
        81: .line 364
            invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
            astore 23 /* waveStream */
        82: .line 367
            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   83     0               this  Lcom/sun/media/sound/WaveFileWriter;
            0   83     1     waveFileFormat  Lcom/sun/media/sound/WaveFileFormat;
            0   83     2        audioStream  Ljava/io/InputStream;
            1   83     3        audioFormat  Ljavax/sound/sampled/AudioFormat;
            2   83     4       headerLength  I
            3   83     5          riffMagic  I
            4   83     6          waveMagic  I
            5   83     7           fmtMagic  I
            6   83     8          fmtLength  I
            7   83     9           wav_type  S
            8   83    10           channels  S
            9   83    11   sampleSizeInBits  S
           10   83    12         sampleRate  I
           11   83    13   frameSizeInBytes  I
           13   83    14     avgBytesPerSec  I
           14   83    15         blockAlign  S
           15   83    16          dataMagic  I
           16   83    17         dataLength  I
           18   83    18         riffLength  I
           19   83    19             header  [B
           20   83    20       headerStream  Ljava/io/ByteArrayInputStream;
           21   83    21               baos  Ljava/io/ByteArrayOutputStream;
           22   83    22                dos  Ljava/io/DataOutputStream;
           23   83    23         waveStream  Ljava/io/SequenceInputStream;
           24   83    24  audioStreamFormat  Ljavax/sound/sampled/AudioFormat;
           25   83    25           encoding  Ljavax/sound/sampled/AudioFormat$Encoding;
           26   83    26   codedAudioStream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      waveFileFormat  
      audioStream     
}
SourceFile: "WaveFileWriter.java"
InnerClasses:
  final NoCloseInputStream = com.sun.media.sound.SunFileWriter$NoCloseInputStream of com.sun.media.sound.SunFileWriter
  public Type = javax.sound.sampled.AudioFileFormat$Type of javax.sound.sampled.AudioFileFormat
  public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat