m_parent.fireObserver(new AddEvent(m_parent, m_role, object));
    public DataObject add(DataObject object) {        if (object == null) {            s_cat.warn("Adding null object to association " + this, new Throwable());        }        DataObject link = null;        if (m_linkType != null) {            Property prop = m_parent.getObjectType().getProperty(m_role);            Property ass = prop.getAssociatedProperty();            link = SessionManager.getSession().create(m_linkType);            link.set(prop.getName(), object);            link.set(ass.getName(), m_parent);            object = link;        }        if (m_toRemove.contains(object)) {            m_toRemove.remove(object);        } else {            m_toAdd.add(object);        }        return link;    }