}
                public void onProperty(PropertyNd prop) {                    ObjectType type =                        m_symbols.getEmitted((ObjectTypeNd) prop.getParent());                    Role role = define(type, prop);                    /* if the property is a composite, the other end is a                     * needs to be set up for cascading deletes to work                     */                    if (prop.isComposite()) {                        String rev = "~" + prop.getName().getName() + ":" +                            type.getQualifiedName().replace('.', '$');                        Role reverse = new Role(rev, type, true, true, true);                        role.getType().addProperty(reverse);                        role.setReverse(reverse);                    }                }