      
      - parameter selector: a selector used to select a device in DFU Bootloader mode
      */
-    func switchToNewPeripheralAndConnect(_ selector: DFUPeripheralSelector)
+    func switchToNewPeripheralAndConnect(_ selector: DFUPeripheralSelectorDelegate)
     
     /**
      Returns whether the Init Packet is required by the target DFU device.

    associatedtype DFUServiceType : DFUService
    
    /// Selector used to find the advertising peripheral in DFU Bootloader mode.
    var peripheralSelector:DFUPeripheralSelector? { get }
    
    /// The DFU Service instance. Not nil when found on the peripheral.
    var dfuService:DFUServiceType? { get set }
}

internal class BaseCommonDFUPeripheral<TD : DFUPeripheralDelegate, TS : DFUService> : BaseDFUPeripheral<TD>, DFUPeripheral {
    var peripheralSelector:DFUPeripheralSelector?
    
    typealias DFUServiceType = TS
    var dfuService:DFUServiceType?

        return false
    }
    
    func switchToNewPeripheralAndConnect(_ selector: DFUPeripheralSelectorDelegate) {
        // Release the previous peripheral
        peripheral!.delegate = nil
        peripheral = nil
