classesToIgnore.add(eClass);
  protected List getAllFeatures(EClass eClass, Set classesToIgnore)  {    List features = new ArrayList();    List superClasses = eClass.getESuperTypes();    for (int i = 0; i < superClasses.size(); i++)      if (!classesToIgnore.contains(superClasses.get(i)))        features.addAll(getAllFeatures((EClass)superClasses.get(i), classesToIgnore));    features.addAll(eClass.getEAttributes());    features.addAll(eClass.getEReferences());    return features;  }