'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.
token: A data store token.
Returns:
A list of requests that were deleted.'

def MultiDestroyFlowStates(self, session_ids, request_limit=None, token=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, token=token, limit=request_limit):
        for (_, serialized, _) in values:
            request = rdf_flows.RequestState.FromSerializedString(serialized)
            deleted_requests.append(request)
            response_subject = self.GetFlowResponseSubject(request.session_id, request.id)
            to_delete.append(response_subject)
        to_delete.append(subject)
    self.DeleteSubjects(to_delete, token=token)
    return deleted_requests
