'Lists all subflows for a given hunt for all clients in client_urns.'

@staticmethod
def GetAllSubflowUrns(hunt_urn, client_urns, top_level_only=False, token=None):

    client_ids = [urn.Split()[0] for urn in client_urns]
    client_bases = [hunt_urn.Add(client_id) for client_id in client_ids]
    all_flows = []
    act_flows = client_bases
    while act_flows:
        next_flows = []
        for (_, children) in aff4.FACTORY.MultiListChildren(act_flows, token=token):
            for flow_urn in children:
                if (flow_urn.Basename() != flow.RESULTS_PER_TYPE_SUFFIX):
                    next_flows.append(flow_urn)
        all_flows.extend(next_flows)
        act_flows = next_flows
        if top_level_only:
            break
    return all_flows
