         mutating func insert(_ newValues: [GATTClient.Descriptor],
                              for characteristic: UInt) {
             
-            var descriptorsCache = [UInt: DescriptorCache]()
-            descriptorsCache.reserveCapacity(newValues.count)
+            var descriptorsCache = [UInt: DescriptorCache](minimumCapacity: newValues.count)
             
             newValues.forEach {
                 descriptorsCache[UInt($0.handle)] = DescriptorCache(attribute: $0)

    
    public let maximumTransmissionUnit: ATTMaximumTransmissionUnit
    
    internal lazy var asyncQueue = DispatchQueue(label: "\(type(of: self)) Operation Queue")
    
    internal private(set) var scanData = [Peripheral: AdvertisingReport](minimumCapacity: 1)
    

            self.isRunning = true
            
            let thread = Thread { [weak self] in self?.main() }
            thread.start()
            
            self.thread = thread
