def METHOD_NAME(
    self, specifier: Union[int, str, UUID]
) -> Union[BleakGATTDescriptor, None]:
    """Get a descriptor by handle (int) or UUID (str or uuid.UUID)"""
    try:
        if isinstance(specifier, int):
            return next(filter(lambda x: x.handle == specifier, self.descriptors))
        else:
            return next(
                filter(lambda x: x.uuid == str(specifier), self.descriptors)
            )
    except StopIteration:
        return None