         return indexSize + 4
     }
 
-    private static func processFooter(_ streamHeader: (checkType: CheckType, flagsCRC: UInt32),
-                                      _ indexSize: Int,
+    private static func processFooter(_ streamHeader: XZStreamHeader, _ indexSize: Int,
                                       _ pointerData: DataWithPointer) throws {
         let footerCRC = pointerData.uint32()
         /// Indicates the size of Index field. Should match its real size.

    private static func processStream(_ pointerData: DataWithPointer) throws -> Data {
        var out: [UInt8] = []

        // STREAM HEADER
        let streamHeader = try processStreamHeader(pointerData)

        // BLOCKS AND INDEX
        /// Zero value of blockHeaderSize means that we encountered INDEX.

    }

    /**
     Unarchives XZ archive. Archives with multiple streams are supported,
     but uncompressed data from each stream will be combined into single `Data` object.

     If data passed is not actually XZ archive, `XZError` will be thrown.
     Particularly, if filters other than LZMA2 are used in archive, then `XZError.wrongFilter` will be thrown.

     If an error happens during LZMA2 decompression, then `LZMAError` or `LZMA2Error` will be thrown.

     - Parameter archive: Data archived using XZ format.

