public int deriveUpperMaterialAssociationExt1() {
if (deriveUpperMaterialAssociationExt1BodyOCL == null) {
EOperation eOperation = OntoUMLPackage.Literals.MATERIAL_ASSOCIATION.getEOperations().get(0);
OCL.Helper helper = OCL_ENV.createOCLHelper();
helper.setOperationContext(OntoUMLPackage.Literals.MATERIAL_ASSOCIATION, eOperation);
EAnnotation ocl = eOperation.getEAnnotation(OCL_ANNOTATION_SOURCE);
String body = ocl.getDetails().get("body");
try {
deriveUpperMaterialAssociationExt1BodyOCL = helper.createQuery(body);
} catch (ParserException e) {
throw new UnsupportedOperationException(e.getLocalizedMessage());