code: def MultiDestroyFlowStates(self, session_ids, request_limit=None):
      
  
      subjects = [session_id.Add("state") for session_id in session_ids]
      to_delete = []
      deleted_requests = []
  
      for subject, values in self.MultiResolvePrefix(
          subjects, self.FLOW_REQUEST_PREFIX, limit=request_limit):
        for _, serialized, _ in values:
  
          request = rdf_flow_runner.RequestState.FromSerializedString(serialized)
          deleted_requests.append(request)
  
          # Drop all responses to this request.
          response_subject = self.GetFlowResponseSubject(request.session_id,
                                                         request.id)
          to_delete.append(response_subject)
  
        # Mark the request itself for deletion.
        to_delete.append(subject)
  
      # Drop them all at once.
      self.DeleteSubjects(to_delete, sync=True)
      return deleted_requests
docs: Deletes all requests and responses for the given flows.
  
      Args:
        session_ids: A lists of flows to destroy.
        request_limit: A limit on the number of requests to delete.
  
      Returns:
        A list of requests that were deleted.