ensureSingleTableInheritanceParentEntitiesAreIncluded(); ensureSingleTableInheritanceChildEntitiesAreIncluded(); fixAllowsNullOnSingleTableInheritance();
  public EOFSQLGenerator(String _modelName, List _modelFolders, List _entityNames, Map _flags) throws MalformedURLException {    NSProperties._setMainBundleName("/Volumes/mDT Workspace/workspace/MDTask/build/MDTask.woa/");    myFlags = new NSMutableDictionary();    Iterator entriesIter = _flags.entrySet().iterator();    while (entriesIter.hasNext()) {      Map.Entry flag = (Map.Entry) entriesIter.next();      myFlags.setObjectForKey(flag.getValue(), flag.getKey());    }    myGroup = new EOModelGroup();    Iterator modelFoldersIter = _modelFolders.iterator();    while (modelFoldersIter.hasNext()) {      File modelFolder = (File) modelFoldersIter.next();      myGroup.addModelWithPathURL(modelFolder.toURL());    }    myEntities = new NSMutableArray();    myModel = myGroup.modelNamed(_modelName);    if (_entityNames == null) {      Enumeration entitiesEnum = myModel.entities().objectEnumerator();      while (entitiesEnum.hasMoreElements()) {        EOEntity entity = (EOEntity) entitiesEnum.nextElement();        String entityName = entity.name();        boolean isPrototype = (entityName.startsWith("EO") && entityName.endsWith("Prototypes"));        if (!isPrototype) {// && entityUsesSeparateTable(entity)) {          myEntities.addObject(entity);        }      }    }    else {      Iterator entityNamesIter = _entityNames.iterator();      while (entityNamesIter.hasNext()) {        String entityName = (String) entityNamesIter.next();        EOEntity entity = myModel.entityNamed(entityName);        myEntities.addObject(entity);      }    }  }