code: def add(self, child):
          
  
          if isinstance(child, Parameter):
              self.add_parameter(child)
          elif isinstance(child, Property):
              self.add_property(child)
          elif isinstance(child, DerivedParameter):
              self.add_derived_parameter(child)
          elif isinstance(child, IndexParameter):
              self.add_index_parameter(child)
          elif isinstance(child, Constant):
              self.add_constant(child)
          elif isinstance(child, Exposure):
              self.add_exposure(child)
          elif isinstance(child, Requirement):
              self.add_requirement(child)
          elif isinstance(child, ComponentRequirement):
              self.add_component_requirement(child)
          elif isinstance(child, InstanceRequirement):
              self.add_instance_requirement(child)
          elif isinstance(child, Children):
              self.add_children(child)
          elif isinstance(child, Text):
              self.add_text(child)
          elif isinstance(child, Link):
              self.add_link(child)
          elif isinstance(child, Path):
              self.add_path(child)
          elif isinstance(child, EventPort):
              self.add_event_port(child)
          elif isinstance(child, ComponentReference):
              self.add_component_reference(child)
          elif isinstance(child, Attachments):
              self.add_attachments(child)
          else:
              raise ModelError('Unsupported child element')
docs: Adds a typed child object to the component type.
  
          @param child: Child object to be added.