def _find_core_protocol(self, name, candidates):
        proto = get_proto_cls(self.protocol_array, candidates)
        if proto:
            _log.debug("Using %s protocol %s.", name, proto.__name__)
        else:
            raise DeviceNotSupportedError("Device does not implement a known link protocol. capabilities=%s" 
                    % self.protocol_array)
        return proto()
Return the first procotol in candidates
dataset/ETHPy150Open braiden/python-ant-downloader/antd/garmin.py/Device._find_core_protocol