def tree_iter_nexson_proxy(nexson_proxy):
    """Iterates over NexsonTreeProxy objects in order determined by the nexson blob"""
    nexml_el = nexson_proxy._nexml_el
    tg_order = nexml_el['^ot:treesElementOrder']
    tgd = nexml_el['treesById']
    for tg_id in tg_order:
        tg = tgd[tg_id]
        tree_order = tg['^ot:treeElementOrder']
        tbid = tg['treeById']
        otus = tg['@otus']
        for k in tree_order:
            v = tbid[k]
            yield nexson_proxy._create_tree_proxy(tree_id=k, tree=v, otus=otus)
Iterates over NexsonTreeProxy objects in order determined by the nexson blob