docs: def update(self, other, copy=True, *args, **kwargs):
          """Update this composite model element with other element content.
  
          :param other: element to update with this. Must be the same type of this
              or this __contenttype__.
          :param bool copy: copy other before updating.
          :return: self"""
  
          super(CompositeModelElement, self).update(
              other, copy=copy, *args, **kwargs
          )
  
          if other:  # dirty hack for python2.6
              contents = []
  
              if isinstance(other, self.__class__):
                  contents = list(other.values())
  
              elif isinstance(other, self.__contenttype__):
                  contents = [other]
  
              else:
                  raise TypeError(
                      'Wrong element to update with {0}: {1}'.format(self, other)
                  )
  
              for content in contents:
  
                  selfcontent = self.get(content.name)
  
                  if selfcontent is None:
  
                      if copy:
                          content = content.copy(local=False)
                      self[content.name] = content
  
                  else:
                      selfcontent.update(content, copy=copy, *args, **kwargs)
  
          return self