/**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated NOT
  */
 public EList<String> getAllRequiredPlugins() {
   Collection<String> rv = new LinkedHashSet<String>(getRequiredPlugins());
   if (getEditorGen() != null) {
     final GenModel genModel = getEditorGen().getDomainGenModel();
     if (genModel != null) {
       rv.add(genModel.getModelPluginID());
       rv.add(genModel.getEditPluginID());
       for (Iterator<GenPackage> it = genModel.getAllUsedGenPackagesWithClassifiers().iterator();
           it.hasNext(); ) {
         GenModel nextGenModel = it.next().getGenModel();
         if (nextGenModel.hasEditSupport()) {
           rv.add(nextGenModel.getModelPluginID());
           rv.add(nextGenModel.getEditPluginID());
         }
       }
     }
     rv.addAll(getExpressionsRequiredPluginIDs());
     rv.addAll(getValidationRequiredPluginIDs());
     rv.addAll(getMetricsRequiredPluginIDs());
     rv.addAll(getViewmapRequiredPluginIDs());
   }
   for (Iterator<String> it = rv.iterator(); it.hasNext(); ) {
     if (GenCommonBaseImpl.isEmpty(it.next())) {
       it.remove();
     }
   }
   return new BasicEList<String>(rv);
 }