/**
  * If the <tt>reference</tt>'s {@link DelayedReference#getModelElement() model element} is a
  * proxy, resolve it first.
  */
 private void resolveModelElementProxy(DelayedReference reference, IModelAdapter modelAdapter)
     throws ModelAdapterException, ModelElementCreationException {
   if (reference.getModelElement() instanceof ModelElementProxy) {
     ModelElementProxy proxy = (ModelElementProxy) reference.getModelElement();
     if (proxy.getRealObject() == null) {
       Object result;
       result =
           modelAdapter.createOrResolveElement(
               proxy.getType(), proxy.getAttributeMap(), null, null, false, true);
       if (result instanceof EObject) {
         reference.setModelElement(result);
       }
     } else {
       reference.setModelElement(proxy.getRealObject());
     }
   }
 }