                 rawUnpackSize += fileSize
 
                 fileInFolderCount += 1
+                nonEmptyFileIndex += 1
 
                 if fileInFolderCount > folder.numUnpackSubstreams { // If we read all files in folder...
                     // We need to check folder's unpacked size as well as its CRC32 (if it is available).


        guard let files = header.fileInfo?.files
            else { return [] }

        /// Index of currently opened folder in `streamInfo.coderInfo.folders`.
        var folderIndex = 0


                // File's unpack size is required to proceed. 
                // Next check ensures that we don't `unpackSizes` array's boundaries.
                guard nonEmptyFileIndex < substreamInfo.unpackSizes.count
                    else { throw SevenZipError.noFileSize }

                let fileSize = substreamInfo.unpackSizes[nonEmptyFileIndex]
                let fileData = Data(bytes: rawFileData.bytes(count: fileSize))

                let calculatedFileCRC = CheckSums.crc32(fileData)
                if nonEmptyFileIndex < substreamInfo.digests.count {
                    guard calculatedFileCRC == substreamInfo.digests[nonEmptyFileIndex]
                        else { throw SevenZipError.wrongCRC }
                }

