docs: def Create(self, name):
      """Creates a new instance.
  
      Args:
        name: A name identifying the constructor to use for instantiation.
  
      Returns:
        An instance of the type that the factory supports.
      """
      precondition.AssertType(name, Text)
  
      try:
        constructor = self._constructors[name]
      except KeyError:
        message = "No constructor for name '%s' has been registered"
        message %= name
        raise ValueError(message)
  
      instance = constructor()
      if not isinstance(instance, self._cls):
        message = ("Constructor %r for name '%s' returned instance of type %r "
                   "(expected %r)")
        message %= (constructor, name, type(instance), self._cls)
        raise TypeError(message)
  
      return instance