code: def FindFirst(cls, setting_matcher, device_matcher=None, **kwargs):
          
          try:
              return next(cls.FindDevices(
                  setting_matcher, device_matcher=device_matcher, **kwargs))
          except StopIteration:
              raise usb_exceptions.DeviceNotFoundError(
                  'No device available, or it is in the wrong configuration.')
docs: Find and return the first matching device.
  
          Args:
            setting_matcher: See cls.FindDevices.
            device_matcher: See cls.FindDevices.
            **kwargs: See cls.FindDevices.
  
          Returns:
            An instance of UsbHandle.
  
          Raises:
            DeviceNotFoundError: Raised if the device is not available.