     }
 
     // TODO: Multi-frame decoding, similar to XZArchive.splitUnarchive or GzipArchive.multiUnarchive.
-    // TODO: Public method for querying dictionary ID.
 
     private static func process(block data: Data, _ dict: Data? = nil) throws -> Data {
         let reader = LittleEndianByteReader(data: data)

        return out
    }

    private static func process(frame data: Data, _ dictionary: Data?, _ extDictId: Int?) throws -> Data {
        // Valid LZ4 frame must contain frame descriptor (at least 3 bytes) and EndMark (4 bytes), assuming no data blocks.
        guard data.count >= 7
            else { throw DataError.truncated }

        return try LZ4.decompress(data: data, dictionary: nil)
    }

    public static func decompress(data: Data, dictionary: Data?, dictionaryID: UInt32? = nil) throws -> Data {
        // Valid LZ4 frame must contain at least a magic number (4 bytes).
        guard data.count >= 4
            else { throw DataError.truncated }
