PersistentObject po = (PersistentObject) value; delete(po.getOID());
cascadeDelete(oid, (PersistentObject) value);
                public void onRole(Role role) {                    addEvent(new RemoveEvent(Session.this, oid, role, value));                    if (role.isComponent()) {                        PersistentObject po = (PersistentObject) value;                        delete(po.getOID());                    } else if (role.isReversable()) {                        PersistentObject po = (PersistentObject) value;                        Role rev = role.getReverse();                        PersistentObject me = retrieve(oid);                        if (rev.isCollection()) {                            addEvent(new RemoveEvent                                (Session.this, po.getOID(), rev, me));                        } else {                            addEvent(new SetEvent                                (Session.this, po.getOID(), rev, null));                        }                    }                }