def METHOD_NAME(st, name, flatten):
    if flatten:
        if not st:
            done.append(name)
    else:
        if st:
            # dependency
            print(f"{st}{name}")
        else:
            print(f"  > {name}")
            st = "   "
        done.append(name)
    rt = False
    p = Project._dict[name]
    if p.dependencies:
        for d in p.dependencies:
            add = True
            if not add_all:
                ty = Project._dict[d].type
                if ty != ProjectType.PROJECT:
                    add = False
            if add:
                rt = True
                if d in done:
                    if not flatten:
                        print(f"{st}    {d} *")
                else:
                    done.append(d)
                    METHOD_NAME(f"{st}    ", d, flatten)
    return rt