((List)copyEObject.eGet(getTarget(eAttribute))).addAll((List)eObject.eGet(eAttribute));
List source = (List)eObject.eGet(eAttribute); List target = (List)copyEObject.eGet(getTarget(eAttribute)); if (source.isEmpty()) { target.clear(); } else { target.addAll(copyAll(source)); }
    protected void copyAttribute(EAttribute eAttribute, EObject eObject, EObject copyEObject)    {      if (eObject.eIsSet(eAttribute))      {        if (FeatureMapUtil.isFeatureMap(eAttribute))        {          FeatureMap featureMap = (FeatureMap)eObject.eGet(eAttribute);          for (Iterator i = featureMap.iterator(); i.hasNext();)          {            FeatureMap.Entry entry = (FeatureMap.Entry)i.next();            EStructuralFeature feature = entry.getEStructuralFeature();            if (feature instanceof EReference && ((EReference)feature).isContainment())            {              Object value = entry.getValue();              if (value != null)              {                copy((EObject)value);              }            }          }        }        else if (eAttribute.isMany())        {          ((List)copyEObject.eGet(getTarget(eAttribute))).addAll((List)eObject.eGet(eAttribute));        }        else        {          copyEObject.eSet(getTarget(eAttribute), eObject.eGet(eAttribute));        }      }    }