code: def add_to_document(self, parent):
          
          arg = ET.SubElement(parent, "arg")
          arg.set("name", self.name)
  
          if self.title is not None:
              ET.SubElement(arg, "title").text = self.title
  
          if self.description is not None:
              ET.SubElement(arg, "description").text = self.description
  
          if self.validation is not None:
              ET.SubElement(arg, "validation").text = self.validation
  
          # add all other subelements to this Argument, represented by (tag, text)
          subelements = [
              ("data_type", self.data_type),
              ("required_on_edit", self.required_on_edit),
              ("required_on_create", self.required_on_create)
          ]
  
          for name, value in subelements:
              ET.SubElement(arg, name).text = str(value).lower()
  
          return arg
docs: Adds an ``Argument`` object to this ElementTree document.
  
          Adds an <arg> subelement to the parent element, typically <args>
          and sets up its subelements with their respective text.
  
          :param parent: An ``ET.Element`` to be the parent of a new <arg> subelement
          :returns: An ``ET.Element`` object representing this argument.