/** @generated */
 @SuppressWarnings("rawtypes")
 public Object evaluate(Object context, Map env) {
   if (context().isInstance(context)) {
     try {
       return doEvaluate(context, env);
     } catch (Exception e) {
       UMLDiagramEditorPlugin.getInstance()
           .logError("Expression evaluation failure: " + body(), e); // $NON-NLS-1$
     }
   }
   return null;
 }
 /** @generated */
 protected void setStatus(int severity, String message, Throwable throwable) {
   String pluginID = UMLDiagramEditorPlugin.ID;
   this.status =
       new Status(
           severity, pluginID, -1, (message != null) ? message : "", throwable); // $NON-NLS-1$
   if (!this.status.isOK()) {
     UMLDiagramEditorPlugin.getInstance()
         .logError(
             "Expression problem:" + message + "body:" + body(),
             throwable); //$NON-NLS-1$ //$NON-NLS-2$
   }
 }
 /** @generated */
 protected EObject selectElement(EObject[] elements) {
   Shell shell = Display.getCurrent().getActiveShell();
   ILabelProvider labelProvider =
       new AdapterFactoryLabelProvider(
           UMLDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory());
   ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, labelProvider);
   dialog.setMessage(Messages.UMLModelingAssistantProviderMessage);
   dialog.setTitle(Messages.UMLModelingAssistantProviderTitle);
   dialog.setMultipleSelection(false);
   dialog.setElements(elements);
   EObject selected = null;
   if (dialog.open() == Window.OK) {
     selected = (EObject) dialog.getFirstResult();
   }
   return selected;
 }