if (extendedMetaData != null)
if (extendedMetaData != null && !mixedTargets.isEmpty())
  protected void processTopObject(EObject object)  {    if (object != null)    {      if (deferredExtent != null)      {        deferredExtent.add(object);      }      else      {        extent.addUnique(object);      }                if (extendedMetaData != null)      {        FeatureMap featureMap = (FeatureMap)mixedTargets.pop();        EStructuralFeature target = extendedMetaData.getMixedFeature(object.eClass());        if (target != null)        {          FeatureMap otherFeatureMap = (FeatureMap)object.eGet(target);          for (Iterator i = featureMap.iterator(); i.hasNext(); )          {            FeatureMap.Entry entry = (FeatureMap.Entry)i.next();            // Ignore a whitespace only text entry at the beginning.            //            if (entry.getEStructuralFeature() !=  XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT ||                  !"".equals(XMLTypeUtil.normalize(entry.getValue().toString(), true)))            {              otherFeatureMap.add(entry.getEStructuralFeature(), entry.getValue());            }          }        }        text = null;      }    }    processObject(object);  }