a.setSession(obj, m_ssn);
    public void onCreate(CreateEvent e) {        final Object obj = e.getObject();        ObjectData od = m_ssn.getObjectData(obj);        if (od == null) {            od = new ObjectData(m_ssn, obj, od.INFANTILE);        } else if (!od.isDeleted()) {            od.dump();            ProtoException pe = new DuplicateObjectException(obj);            pe.setInternal(false);            throw pe;        } else {            od.setState(od.INFANTILE);        }        Adapter a = m_ssn.getAdapter(obj);        a.setSession(obj, m_ssn);        addEvent(e);        PropertyMap props = a.getProperties(obj);        for (Iterator it = props.entrySet().iterator(); it.hasNext(); ) {            Map.Entry me = (Map.Entry) it.next();            Event ev;            try {                ev = new SetEvent                    (m_ssn, obj, (Property) me.getKey(), me.getValue());            } catch (TypeException te) {                te.setInternal(false);                throw te;            }            expand(ev);        }    }