private void OpenTarFile(Stream stream)
 {
     _stream = stream;
     Files = new List<TarHeader>();
     long length = stream.Length;
     long pos = 0;
     stream.Position = 0;
     while (pos + 512 < length)
     {
         stream.Seek(pos, SeekOrigin.Begin);
         var th = new TarHeader(stream);
         if (th.FileSizeInBytes > 0)
             Files.Add(th);
         pos += TarHeader.HeaderSize + th.FileSizeInBytes;
         if (pos % TarHeader.HeaderSize > 0)
             pos += 512 - (pos % TarHeader.HeaderSize);
     }
 }