adds all tiers that annotate single tokens (e.g. token string, lemma,
        POS tag) to the etree representation of the Exmaralda XML file.

        Parameters
        ----------
        docgraph : DiscourseDocumentGraph
            the document graph to be converted
        body : etree._Element
            an etree representation of the <basic_body> element (and all its
            descendants) of the Exmaralda file

def __add_token_tiers(self, docgraph, body):
        """
        adds all tiers that annotate single tokens (e.g. token string, lemma,
        POS tag) to the etree representation of the Exmaralda XML file.

        Parameters
        ----------
        docgraph : DiscourseDocumentGraph
            the document graph to be converted
        body : etree._Element
            an etree representation of the <basic_body> element (and all its
            descendants) of the Exmaralda file
        """
        E = self.E
        token_tier = E('tier',
                       {'id': "TIE{}".format(self.tier_count),
                        'category': "tok", 'type': "t",
                        'display-name': "[tok]"})
        self.tier_count += 1

        token_attribs = defaultdict(lambda: defaultdict(str))
        for token_node_id in docgraph.tokens:
            for attrib in docgraph.node[token_node_id]:
                is_boring_attrib = attrib in ('layers', 'label')
                is_boring_cat = attrib.split(':')[-1] in ('token',
                                                          'id', 'word',
                                                          'morph', 'lemma')
                if not is_boring_attrib and not is_boring_cat:
                    token_attribs[attrib][token_node_id] = \
                        docgraph.node[token_node_id][attrib]

        for i, (_tok_id, token_str) in enumerate(docgraph.get_tokens()):
            # example: <event start="T0" end="T1">Zum</event>
            token_tier.append(
                E('event', {'start': "T{}".format(i),
                            'end': "T{}".format(i+1)}, token_str))
        body.append(token_tier)

        for anno_tier in token_attribs:
            category = anno_tier.split(':')[-1]
            temp_tier = E(
                'tier', {'id': "TIE{}".format(self.tier_count),
                         'category': category, 'type': "t",
                         'display-name': "[{}]".format(anno_tier)})
            self.tier_count += 1
            for token_node_id in token_attribs[anno_tier]:
                token_tier_id = self.toknode2id[token_node_id]
                token_attrib = token_attribs[anno_tier][token_node_id]
                temp_tier.append(
                    E('event', {'start': "T{}".format(token_tier_id),
                                'end': "T{}".format(token_tier_id+1)},
                      token_attrib))
            body.append(temp_tier)
        return body