public String getSuffix(String key, NSKeyValueCodingLogicalStructureType keyValueCodingLogicalStructureType) {
IValue resolvedValue = null;
IJavaClassType classType;
try {
classType = keyValueCodingLogicalStructureType.getIJavaClassType(keyValueCodingLogicalStructureType.getParentValue());
JavaLogicalStructure entityJavaLogicalStructure = new JavaLogicalStructure(classType.getName(), true, "return valueForKeyPath(\"" + this.getSuffix() + "\");", "bla", new String[0][0]);
resolvedValue = entityJavaLogicalStructure.getLogicalStructure(keyValueCodingLogicalStructureType.getParentValue());
} catch (DebugException e) {
Activator.getDefault().log(e);
} catch (CoreException e) {
Activator.getDefault().log(e);
}
EOEntityLogicalStructureType entityLogicalStructureType = new EOEntityLogicalStructureType(resolvedValue);
try {
classType = keyValueCodingLogicalStructureType.getIJavaClassType(resolvedValue);
JavaLogicalStructure attributeJavaLogicalStructure = new JavaLogicalStructure(classType.getName(), true, "return attributeNamed(\"" + key + "\");", "bla", new String[0][0]);
resolvedValue = attributeJavaLogicalStructure.getLogicalStructure(entityLogicalStructureType.getParentValue());
} catch (DebugException e) {
Activator.getDefault().log(e);
} catch (CoreException e) {
Activator.getDefault().log(e);
}