def _create_serializer_of_type_with_cache(self, serializer_type: Type) -> "Serializer":
        """
        Creates a deserializer of the given type, exploiting a cache.
        :param serializer_type: the type of deserializer to create
        :return: the created serializer
        """
        if serializer_type not in self._serializers_cache:
            self._serializers_cache[serializer_type] = self._create_serializer_of_type(serializer_type)
        return self._serializers_cache[serializer_type]