helper.popContext();
helper.popContext(prefixesToFactories);
  public void endElement(String uri, String localName, String name)  {       elements.pop();    Object type = types.pop();    if (type == OBJECT_TYPE)    {      if (text == null)      {        objects.pop();        mixedTargets.pop();      }      else       {        EObject object = objects.popEObject();        if (mixedTargets.peek() != null &&               (object.eContainer() != null || recordUnknownFeature && eObjectToExtensionMap.containsValue(object)))         {          handleMixedText();          mixedTargets.pop();        }        else        {          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(objects.peekEObject(), (EReference)type, text.toString());        text = null;      }      isIDREF= false;    }    else if (isTextFeatureValue(type))    {      EObject eObject = objects.popEObject();      mixedTargets.pop();      if (eObject == null)      {        eObject = objects.peekEObject();      }      setFeatureValue(eObject, (EStructuralFeature) type, text == null ? null : text.toString());      text = null;    }    if (isSimpleFeature)    {      types.pop();      objects.pop();      mixedTargets.pop();      isSimpleFeature = false;    }    helper.popContext();  }