def METHOD_NAME(self):
    """Extract the value from the request or get it from the field
    """
    # get the processed value from the `update` method
    value = self.value
    # the value might come from the request, e.g. on object creation
    if api.is_string(value):
        value = IDataConverter(self).toFieldValue(value)
    # we handle always lists in the templates
    if value is None:
        return []
    if not isinstance(value, (list, tuple)):
        value = [value]
    # just to be sure (paranoid)
    return [uid for uid in value if api.is_uid(uid)]