public void ExtractTo(string description, Stream stream, string folder)
        {
            Console.WriteLine("Writing contents of zip file {0} to {1}", description, folder);
            if (Directory.Exists(folder))
            {
                Directory.Delete(folder, true);
            }

            Directory.CreateDirectory(folder);

            var system = new FileSystem();
            string fileName = Path.GetTempFileName();
            system.WriteStreamToFile(fileName, stream);

            using (var zipFile = new ZipFile(fileName))
            {
                zipFile.ExtractAll(folder, ExtractExistingFileAction.OverwriteSilently);
            }

            system.DeleteFile(fileName);
        }