@Override public void handle(Resources.Allocate event) { TaskPlaceholder.Deferred placeholder = waitingConfirmation.remove(event.originalTaskId); assert placeholder != null; log.info("{} Allocating task {}", getId(), event.task.id); borrowers.updateCredit(placeholder.taskMaster, placeholder.required, event.task.required); TaskPlaceholder.Direct run = new TaskPlaceholder.Direct(event.taskMaster, event.task); res.workingQueue.running.put(event.task.id, run); runTask(event.task); }