protected virtual void Dispose(bool disposing)
 {
     if (_isDisposed)
     {
         return;
     }
     _isDisposed = true;
     if (disposing)
     {
         try { HeadWriter.Close(); }
         finally
         {
             try { BodyWriter.Close(); }
             finally
             {
                 try { _headStream.Dispose(); }
                 finally{ _bodyStream.Dispose(); }
             }
         }
     }
 }