def METHOD_NAME(self, tid, expected_oids=None, note=None):
    # Undo a tid that affects a single object (oid).
    # This is very specialized.
    t = TransactionMetaData()
    t.note(note or "undo")
    self._storage.tpc_begin(t)
    undo_result = self._storage.undo(tid, t)
    vote_result = self._storage.tpc_vote(t)
    if expected_oids is not None:
        oids = set(undo_result[1]) if undo_result else set()
        if vote_result:
            oids.update(vote_result)
        self.assertEqual(oids, set(expected_oids))
    return self._storage.tpc_finish(t)