try {
/* First we remove the deleted attributes */
for (RPObject object : message.getModifiedDeletedRPObjects()) {
RPObject w_object = world.get(object.getID());
if (!listener.onModifiedDeleted(w_object, object)) {
w_object.applyDifferences(null, object);
}
}
/* And then we add the new and modified attributes */
for (RPObject object : message.getModifiedAddedRPObjects()) {