public void unassignActive(final TaskId task) {
        final Set<TaskId> taskIds = assignedActiveTasks.taskIds();
        if (!taskIds.contains(task)) {
            throw new IllegalArgumentException("Tried to unassign active task " + task + ", but it is not currently assigned: " + this);
        }
        taskIds.remove(task);
    }
@Test
    public void shouldRefuseToUnassignNotAssignedActiveTask() {
        final ClientState clientState = new ClientState(1);
        assertThrows(IllegalArgumentException.class, () -> clientState.unassignActive(TASK_0_0));
    }