code: def GetNewSessionID(self):
      
      # Calculate a new session id based on the flow args. Note that our caller
      # can specify the base path to the session id, but they can not influence
      # the exact session id we pick. This ensures that callers can not engineer a
      # session id clash forcing us to overwrite an existing flow.
      base = self.runner_args.base_session_id
      if base is None:
        base = self.runner_args.client_id or aff4.ROOT_URN
        base = base.Add("flows")
  
      return rdfvalue.SessionID(base=base, queue=self.runner_args.queue)
docs: Returns a random session ID for this flow based on the runner args.
  
      Returns:
        A formatted session id URN.