def METHOD_NAME(thelcc, level=-2):
    level += 1
    level_indicator = '--'
    if 'children' in thelcc:
        results = []
        if thelcc['name'] != 'LCC':
            # don't want the root + it doesn't have a code
            results += [(thelcc['code'], level_indicator * level + thelcc['name'])]
        for child in thelcc['children']:
            results += METHOD_NAME(child, level=level)
        return results
    else:
        # this is a leaf
        if 'code' not in thelcc:
            if thelcc['name'] == 'TMP':
                # some weird leaf element at 1st level of the tree
                # don't want to generate a choice for it, just ignore
                return []
        return [(thelcc['code'], level_indicator * level + thelcc['name'])]