return affiliation == null || affiliation.isMany() && ExtendedMetaData.INSTANCE.getFeatureKind(affiliation) != ExtendedMetaData.ATTRIBUTE_WILDCARD_FEATURE;
if (affiliation == null) { return true; } else { int affiliationUpperBound = affiliation.getUpperBound(); return (affiliationUpperBound > 1 || affiliationUpperBound == ETypedElement.UNBOUNDED_MULTIPLICITY) && ExtendedMetaData.INSTANCE.getFeatureKind(affiliation) != ExtendedMetaData.ATTRIBUTE_WILDCARD_FEATURE; }
  public static boolean isMany(EObject owner, EStructuralFeature feature)  {    int upperBound = feature.getUpperBound();    if (upperBound == ETypedElement.UNSPECIFIED_MULTIPLICITY)    {      EClass eclass = owner.eClass();      if (eclass.getFeatureID(feature) >= 0)      {        return false;      }      else if (feature.getEContainingClass().getEPackage() == XMLTypePackage.eINSTANCE)      {        return true;      }      else      {        EStructuralFeature affiliation = ExtendedMetaData.INSTANCE.getAffiliation(eclass, feature);        return          affiliation == null ||            affiliation.isMany() && ExtendedMetaData.INSTANCE.getFeatureKind(affiliation) != ExtendedMetaData.ATTRIBUTE_WILDCARD_FEATURE;      }    }    else    {      return upperBound == ETypedElement.UNBOUNDED_MULTIPLICITY || upperBound > 1 || FeatureMapUtil.isFeatureMap(feature);    }  }