private void EncryptFileHandler(EncryptionWorkerContext w, FileInfo file) { if (w.fileCount == 0) { w.Close(); // create new one CreateTarOutputStream(file, w); } TarFile(file.FullName, w.encryptedTarStream); w.filesSize += file.Length; ++w.fileCount; // check limits, if exceeded then reset them if ((w.fileCount >= MaxFilesInArchive && MaxFilesInArchive > 0) || (MaxOutputFileSize > 0 && w.filesSize >= MaxOutputFileSize)) { w.Reset(); } }