deepcopy of subTaskLists to avoid list chang during itteration -- this way we can hopefully avoid locking.