docs: def Append(self, value=None, **kwarg):
      """Add another member to the array.
  
      Args:
        value: The new data to append to the array.
        **kwarg:  Create a new element from these keywords.
  
      Returns:
        The value which was added. This can be modified further by the caller and
        changes will be propagated here.
  
      Raises:
        ValueError: If the value to add is not allowed.
      """
      if self.rdf_type is not None:
        if (isinstance(value, rdfvalue.RDFValue) and
            value.__class__ != self.rdf_type):
          raise ValueError("Can only accept %s" % self.rdf_type)
  
        try:
          # Try to coerce the value.
          value = self.rdf_type(value, **kwarg)  # pylint: disable=not-callable
        except (TypeError, ValueError):
          raise ValueError("Unable to initialize %s from type %s" %
                           (self.__class__.__name__, type(value)))
  
      self.content.Append(DataBlob().SetValue(value))