def METHOD_NAME(self):
    if self.exists():
        # Did not exist, partially created (some slaves failed to be added)
        if not self._init_exists:
            self.destroy()
        # Existed, failed on some editing (slaves or options editing)
        else:
            slaves2remove = self._slaves - self._init_slaves
            slaves2add = self._init_slaves - self._slaves
            self.del_slaves(slaves2remove)
            self.set_options(self._init_options)
            self.add_slaves(slaves2add)
    # We assume that a non existing bond with a failed transaction is not
    # a reasonable scenario and leave it to upper levels to handle it.