def _deserialize_property_value(self, to_deserialize: PrimitiveJsonType, deserializer_cls: Type) -> Any:
        """
        Deserializes the given value using the given deserializer.
        :param to_deserialize: the value to deserialize
        :param deserializer_cls: the type of deserializer to use
        :return: deserialized value
        """
        deserializer = self._create_deserializer_of_type_with_cache(deserializer_cls)
        assert deserializer is not None
        return deserializer.deserialize(to_deserialize)