private void _InitiateCurrentEntry(bool finishing) { _entriesWritten.Add(_currentEntry.FileName, _currentEntry); _entryCount++; if (_entryCount > 65534 && _zip64 == Zip64Option.Default) { _exceptionPending = true; throw new InvalidOperationException("Too many entries. Consider setting ZipOutputStream.EnableZip64."); } _currentEntry.WriteHeader(_outputStream, finishing ? 99 : 0); _currentEntry.StoreRelativeOffset(); if (!_currentEntry.IsDirectory) { _currentEntry.WriteSecurityMetadata(_outputStream); _currentEntry.PrepOutputStream(_outputStream, (!finishing) ? (-1) : 0, out _outputCounter, out _encryptor, out _deflater, out _entryOutputStream); } _needToWriteEntryHeader = false; }