anchor.diff:    /// If another agent has obtained the reservation on the task before we've
     /// been able to secure our reservation, ths will throw a
     /// [ReservationLostException]
  -  Future<void> secureReservation(Task task, String agentId) async {
  +  Future<void> secureReservation(Task task, String agentId) {
       assert(task != null);
       assert(agentId != null);
  -    return config.db.withTransaction<void>((Transaction transaction) async {
  -      try {
  +    try {
  +      return config.db.withTransaction<void>((Transaction transaction) async {
           final Task lockedTask = await transaction.lookupValue<Task>(task.key);
   
           if (lockedTask.status != Task.statusNew) {
  
positive.code: 
          lockedTask.status = Task.statusInProgress;
          lockedTask.attempts += 1;
          lockedTask.startTimestamp = DateTime.now().millisecondsSinceEpoch;
          lockedTask.reservedForAgentId = agentId;
          transaction.queueMutations(inserts: <Task>[lockedTask]);
          await transaction.commit();
        } catch (error) {
          await transaction.rollback();
          rethrow;
        }
      });
    }
  }
  
  
negative.code:       });
      }
  
      const int maxAttempts = 3;
      for (int attempt = 0; attempt < maxAttempts; attempt++) {
        final FullTask task = await taskProvider.findNextTask(agent);
  
        if (task == null) {
  