'Append either an XML object or a substanza to this stanza object.
If a substanza object is appended, it will be added to the list
of iterable stanzas.
Allows stanza objects to be used like lists.
:param item: Either an XML object or a stanza object to add to
this stanza\'s contents.'

def append(self, item):

    if (not isinstance(item, ElementBase)):
        if (type(item) == XML_TYPE):
            return self.appendxml(item)
        else:
            raise TypeError
    self.xml.append(item.xml)
    self.iterables.append(item)
    if (item.__class__ in self.plugin_iterables):
        if item.__class__.plugin_multi_attrib:
            self.init_plugin(item.__class__.plugin_multi_attrib)
    elif (item.__class__ == self.plugin_tag_map.get(item.tag_name(), None)):
        self.init_plugin(item.plugin_attrib, existing_xml=item.xml, reuse=False)
    return self
