// public methods
 public void Dispose()
 {
     if (!_disposed)
     {
         if (_disposeBuffer)
         {
             _buffer.Dispose();
         }
         _buffer   = null;
         _disposed = true;
     }
 }
 public void Dispose()
 {
     if (!disposed)
     {
         if (disposeBuffer)
         {
             buffer.Dispose();
         }
         buffer   = null;
         disposed = true;
     }
 }