/// <summary>
 /// See <see cref="IDisposable.Dispose" /> for more information.
 /// </summary>
 public void Dispose()
 {
     if (_stream != null)
     {
         _stream.Close();
         _stream = null;
     }
     _fileName = null;
     _dataMap  = null;
     GC.SuppressFinalize(this);
 }
 void ReInitialize()
 {
     _dataMap = new DataMap();
     _dataMap.AddFirst(new FileDataBlock(0, _stream.Length));
     _totalLength = _stream.Length;
 }