final AbstractAttributableTO updated = getAttributableTOFromConnObject(obj, syncTask, attrUtil);
updated.setId(id);
if (AttributableType.USER == attrUtil.getType()) {
// update password if and only if password is really changed
final SyncopeUser user = userDataBinder.getUserFromId(id);
if (StringUtils.isBlank(((UserTO) updated).getPassword())
|| userDataBinder.verifyPassword(user, ((UserTO) updated).getPassword())) {
((UserTO) updated).setPassword(null);
}
for (MembershipTO membTO : ((UserTO) updated).getMemberships()) {
Membership memb = user.getMembership(membTO.getRoleId());
if (memb != null) {
membTO.setId(memb.getId());
}
}