* (b) happens when the provided updated user / role does have the current resource assigned (when the task
* is generated via UserController.update() / RoleController.updae()): this basically means that before such
* update, this user / role used to have the current resource assigned by more than one mean (for example,
* two different memberships with the same resource).
*/
AbstractAttributable subject = getSubject(task);
if (subject == null || !subject.getResourceNames().contains(task.getResource().getName())) {
LOG.debug("Delete {} on {}", beforeObj.getUid(), task.getResource().getName());
connector.delete(
task.getPropagationMode(),
beforeObj.getObjectClass(),