         
         self.handles = handles
     }
+}
+
+public extension ATTReadMultipleRequest {
     
     public init?(data: Data) {
         
-        guard data.count >= type(of: self).length,
+        guard data.count >= 5,
             type(of: self).validateOpcode(data)
             else { return nil }
         

    
    public static var attributeOpcode: ATT.Opcode { return .readMultipleRequest }
    
    /// Minimum length
    internal static let length = 1 + 4
    
    /// The handles of the attributes to read.
    public var handles: [UInt16]
    

            handles.append(handle)
        }
        
        self.init(handles: handles)
    }
    
    public var data: Data {
        
        return Data(self)
    }
}

// MARK: - DataConvertible

extension ATTReadMultipleRequest: DataConvertible {
    
    var dataLength: Int {
        
        return 1 + (2 * handles.count)
    }
    
    static func += (data: inout Data, value: ATTReadMultipleRequest) {
        
        data += attributeOpcode.rawValue
        value.handles.forEach { data += $0 }
    }
}
