Map overrideConnectionDictionary = (Map)_extraInfo.get("connectionDictionary");
Map overrideConnectionDictionary = (Map)extraInfo.get("connectionDictionary");
	public EOFSQLGenerator(String _modelName, List _modelFolders, List _entityNames, Map _flags, Map _extraInfo) throws MalformedURLException {		myFlags = new NSMutableDictionary();		_extraInfo = (_extraInfo == null ? new HashMap() : _extraInfo);		String prototypeEntityName = (String) _extraInfo.get("prototypeEntityName");		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();			EOModel newModel = myGroup.addModelWithPathURL(modelFolder.toURL());			System.out.println("Loading model: " + newModel.name());			if(prototypeEntityName != null) {				EOEntity entity = newModel.entityNamed("EOPrototypes");				if(entity != null) {					newModel.removeEntity(entity);				}				entity = newModel.entityNamed(prototypeEntityName);				if(entity != null) {					newModel.removeEntity(entity);					entity.setName("EOPrototypes");					newModel.addEntity(entity);				}			}		}		myEntities = new NSMutableArray();		myModel = myGroup.modelNamed(_modelName);			Map overrideConnectionDictionary = (Map)_extraInfo.get("connectionDictionary");			if(overrideConnectionDictionary != null) {				NSMutableDictionary connectionDictionary = new NSMutableDictionary();				Iterator overrideConnectionDictionaryIter = overrideConnectionDictionary.entrySet().iterator();				while (overrideConnectionDictionaryIter.hasNext()) {					Map.Entry overrideEntry = (Map.Entry) overrideConnectionDictionaryIter.next();					Object key = overrideEntry.getKey();					Object value = overrideEntry.getValue();					if (key instanceof String && value instanceof String) {						connectionDictionary.setObjectForKey(value, key);					}				}				myModel.setConnectionDictionary(connectionDictionary);			}		if (_entityNames == null) {			Enumeration entitiesEnum = myModel.entities().objectEnumerator();			while (entitiesEnum.hasMoreElements()) {				EOEntity entity = (EOEntity) entitiesEnum.nextElement();				if (!isPrototype(entity)) {// && 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);			}		}		ensureSingleTableInheritanceParentEntitiesAreIncluded();		ensureSingleTableInheritanceChildEntitiesAreIncluded();	}