Retrieve a device with a given address or name from the results.
        
        Args:
            addr_or_name (str): a string containing either a BLE address in xx:xx:xx:xx:xx:xx
                format, or a plain device name. The supplied value is checked as an address
                first and if that fails to produce a result, it is matched against each
                named device in the collection. 

        Returns:
            The first matching :class:`ScanResult` instance, or None.

def get_device(self, addr_or_name):
        """Retrieve a device with a given address or name from the results.
        
        Args:
            addr_or_name (str): a string containing either a BLE address in xx:xx:xx:xx:xx:xx
                format, or a plain device name. The supplied value is checked as an address
                first and if that fails to produce a result, it is matched against each
                named device in the collection. 

        Returns:
            The first matching :class:`ScanResult` instance, or None. 
        """
        if addr_or_name in self._devices:
            return self._devices[addr_or_name]

        for v in self._devices.values():
            if v == addr_or_name:
                return v

        return None