def qualifiedElementName(element)
return @elementIdentifiers[element] if @elementIdentifiers[element]
localIdent = ((element.respond_to?(@identAttrName) && element.getGeneric(@identAttrName)) || "").strip
parentRef = element.class.ecore.eAllReferences.select{|r| r.eOpposite && r.eOpposite.containment}.first
parent = parentRef && element.getGeneric(parentRef.name)
if parent
if localIdent.size > 0
parentIdent = qualifiedElementName(parent)
result = parentIdent + @separator + localIdent
else
result = qualifiedElementName(parent)
end
else
result = (@leadingSeparator ? @separator : "") + localIdent
end
@elementIdentifiers[element] = result
end