     }
 
     /**
-     Unarchives XZ archive.
-     Archives with multiple streams are supported,
+     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.
+     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.
 

        return indexSize + 4
    }

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

        return Data(bytes: out)
    }

    private static func processBlock(_ blockHeaderSize: Int, _ pointerData: DataWithPointer) throws -> Block {
        let blockHeaderStartIndex = pointerData.index - 1
        guard blockHeaderSize >= 0x01 && blockHeaderSize <= 0xFF
