addEvent(new SetEvent(this, old, role, null, event));
addEvent(new SetEvent(this, old, role, null, event), pending);
    private void reverseUpdateNew(PropertyEvent event) {        Object source = event.getObject();        Role role = (Role) event.getProperty();        Object target = event.getArgument();        Role rev = role.getReverse();        if (rev.isCollection()) {            addEvent(new AddEvent(this, target, rev, source, event));        } else {            Object old = get(target, rev);            if (old != null) {                if (role.isCollection()) {                    addEvent(new RemoveEvent(this, old, role, target, event));                } else {                    addEvent(new SetEvent(this, old, role, null, event));                }            }            addEvent(new SetEvent(this, target, rev, source, event));        }    }