'Create a new child flow from a hunt.'

def CallFlow(self, flow_name=None, next_state=None, request_data=None, client_id=None, **kwargs):

    base_session_id = None
    if client_id:
        base_session_id = self.urn.Add(client_id.Basename())
    child_urn = self.runner.CallFlow(flow_name=flow_name, next_state=next_state, base_session_id=base_session_id, client_id=client_id, request_data=request_data, **kwargs)
    if client_id:
        hunt_link_urn = client_id.Add('flows').Add(('%s:hunt' % self.urn.Basename()))
        hunt_link = aff4.FACTORY.Create(hunt_link_urn, aff4.AFF4Symlink, token=self.token)
        hunt_link.Set(hunt_link.Schema.SYMLINK_TARGET(child_urn))
        hunt_link.Close()
    return child_urn
