in Core/src/Impl/Storages/ZipHelpers/ExclusiveZipArchiveProvider.cs [40:51]
public override async Task<ZipArchiveGuard> RentAsync(bool writable)
{
Debug.Assert(
(writable && (Mode == ZipArchiveStorageRwMode.Create || Mode == ZipArchiveStorageRwMode.ReadWrite || Mode == ZipArchiveStorageRwMode.ReadWithAutoWritePromotion)) ||
(!writable && (Mode == ZipArchiveStorageRwMode.Read || Mode == ZipArchiveStorageRwMode.ReadWrite || Mode == ZipArchiveStorageRwMode.ReadWithAutoWritePromotion)));
await myLock.WaitAsync();
if (writable && Mode == ZipArchiveStorageRwMode.ReadWithAutoWritePromotion && myArchive.CurrentArchiveMode != ZipArchiveMode.Update)
myArchive.PromoteToUpdateModeIfNeeded();
return new ZipArchiveGuard(myArchive, this);
}