{ Lock the user }
{ <Update User>
<Update single value attributes, i.e. def. 'domain', 'all_objects?' etc.>
<Update Groups>
for each groups.to.insert
insert group
done
for each group.to.delete
delete group
done
<Update Departments>
for each departement.to.insert
insert department
done
for each departement.to.delete
delete department
done
for each department.to.keep
if old.department.flag.official? != new.department.flag.official?
update department
fi
done
<Update Records>
for each record.to.insert
insert record
done
for each record.to.delete
delete record
done
<Do Check>
}