anon.setFilename(getFilename()); anon.setLineInfo(getLineNumber(), getColumnNumber());
initLineInfo(anon);
    Association generateLogicalModel() {        Property one = m_one.generateLogicalModel();        Property two = m_two.generateLogicalModel();        try {            ((ObjectType) one.getType()).addProperty(two);            ((ObjectType) two.getType()).addProperty(one);        } catch (ClassCastException e) {            error("Roles must be object types.");        }        m_assn = new Association(one, two);        ObjectType anon = (ObjectType) m_assn.getLinkType();        anon.setFilename(getFilename());        anon.setLineInfo(getLineNumber(), getColumnNumber());        Iterator props = m_attrs.values().iterator();        while (props.hasNext()) {            PropertyDef propDef = (PropertyDef)props.next();            Property prop = propDef.generateLogicalModel();            anon.addProperty(prop);        }        if (m_options != null) {            m_options.setOptions(m_assn);        }        return m_assn;    }