     public static func compress(data: Data) throws -> Data {
         let bytes = data.toArray(type: UInt8.self)
 
-        if bytes.count < 3 {
-            return Data(bytes: Deflate.createUncompressedBlock(bytes))
-        }
-
         let bldCodes = Deflate.lengthEncode(bytes)
 
         // Let's count possible sizes according to statistics.

    }

    private static func lengthEncode(_ rawBytes: [UInt8]) -> (codes: [BLDCode], stats: [Int]) {
        precondition(rawBytes.count >= 3, "Too small array!")

        var buffer: [BLDCode] = []
        var inputIndex = 0
        /// Keys --- three-byte crc32, values --- positions in `rawBytes`.


        var stats = Array(repeating: 0, count: 316)

        // Last two bytes of input will be considered separately.
        // This also allows to use length encoding for arrays with size less than 3.
        while inputIndex < rawBytes.count - 2 {
            let byte = rawBytes[inputIndex]

            let threeByteCrc = CheckSums.crc32([rawBytes[inputIndex],
                                                rawBytes[inputIndex + 1],
