         let status = getPropertyDataArray(address, value: &relatedDevices, andDefaultValue: AudioDeviceID())
 
         if noErr == status {
-            return relatedDevices.map { deviceID -> AudioDevice? in
-                AudioDevice.lookup(by: deviceID)
-            }.flatMap { $0 }
+            return relatedDevices.map { AudioDevice.lookup(by: $0) }.flatMap { $0 }
         }
 
         return nil

    public func clockSourceNames(channel: UInt32, direction: Direction) -> [String]? {

        if let clockSourceIDs = clockSourceIDs(channel: channel, direction: direction) {
            return clockSourceIDs.map { (clockSourceID) -> String in
                // We expect clockSourceNameForClockSourceID to never fail in this case, 
                // but in the unlikely case it does, we provide a default value.
                clockSourceName(clockSourceID: clockSourceID) ?? "Clock source \(clockSourceID)"
            }
        }


     
        - Parameter deviceID: An audio device identifier that is valid and present in the system.
     */
    private init?(id: AudioObjectID) {

        super.init(objectID: id)

        guard owningObject != nil else { return nil }

