/// <summary>
 /// Disposes this stream
 /// </summary>
 /// <param name="disposing">true if the user called this</param>
 protected override void Dispose(bool disposing)
 {
     if (!isDisposed)
     {
         isDisposed = true;
         if (disposing)
         {
             sourceStream.Dispose();
             conversionProvider.Dispose();
         }
         else
         {
             // we've been called by the finalizer
             Debug.Assert(false, "WaveFormatConversionStream was not disposed");
         }
     }
     // Release unmanaged resources.
     // Set large fields to null.
     // Call Dispose on your base class.
     base.Dispose(disposing);
 }