public Collection getReachablePropertyEvents(Object obj) { ArrayList result = new ArrayList(); ObjectType ot = m_ssn.getObjectType(obj); for (Iterator it = ot.getProperties().iterator(); it.hasNext(); ) { Property prop = (Property) it.next(); if (prop.isCollection()) { result.addAll(getCurrentEvents(obj, prop)); } else { Event e = getLastEvent(obj, prop); if (e != null) { result.add(e); } } } return result; }