private void SetEntryExtractionProgressOnReaderExtracting(object sender, ReaderExtractionEventArgs <IEntry> e)
        {
            this.lastProgressArgs = e;

            ExtractionProgressEventArgs progressReport = CreateProgressReport();

            this.CurrentProgressReporter.Report(progressReport);
        }
        public void Update(ExtractionProgressEventArgs progressArgs)
        {
            if (!progressArgs.ArchiveInfo.FullName.Equals(this.ArchiveInfo.FullName))
            {
                throw new ArgumentException(@"The progress argument maps to a different archive file.", nameof(progressArgs));
            }

            this.ArchiveInfo             = progressArgs.ArchiveInfo;
            this.BytesTransferred        = progressArgs.BytesTransferred;
            this.Iterations              = progressArgs.Iterations;
            this.PercentageRead          = progressArgs.PercentageRead;
            this.PercentageReadExact     = progressArgs.PercentageReadExact;
            this.UncompressedSizeInBytes = progressArgs.UncompressedSizeInBytes;
            this.TimeElapsedFormatted    = progressArgs.TimeElapsedFormatted;
        }