{ helper.popContext();
{
  public void endElement(String uri, String localName, String name)  {    helper.popContext();    elements.pop();    Object type = types.pop();    if (type == OBJECT_TYPE)    {      if (text == null)      {        objects.pop();        mixedTargets.pop();      }      else if (mixedTargets.peek() != null)      {        objects.pop();        handleMixedText();        mixedTargets.pop();      }      else      {        Object object = objects.pop();        if (text.length() != 0)        {          handleProxy((InternalEObject)object, text.toString().trim());        }        mixedTargets.pop();        text = null;      }    }    else if (isIDREF)    {      objects.pop();      mixedTargets.pop();      if (text != null)      {        setValueFromId((EObject)objects.peek(), (EReference)type, text.toString());        text = null;      }      isIDREF= false;    }    else if (isTextFeatureValue(type))    {      EObject eObject = (EObject)objects.pop();      mixedTargets.pop();      if (eObject == null)      {        eObject = (EObject)objects.peek();      }      setFeatureValue(eObject, (EStructuralFeature) type, text == null ? null : text.toString());      text = null;    }    if (isSimpleFeature)    {      types.pop();      objects.pop();      mixedTargets.pop();      isSimpleFeature = false;    }  }