def prepare_value(self, cls, name, value):
        try:
            self.validate(value)
        except __HOLE__ as e:
            for tp, converter in self.alternatives:
                if tp.is_valid(value):
                    value = converter(value)
                    break
            else:
                raise e
        else:
            value = self.transform(value)

        return self._wrap_container(value)
dataset/ETHPy150Open bokeh/bokeh/bokeh/core/properties.py/PropertyDescriptor.prepare_value