protected synchronized void executeSql(String allSql) {
protected synchronized void executeSql(String allSql, Map selectedDatabaseConfigMap) {
	protected synchronized void executeSql(String allSql) {		try {			Display.getDefault().syncExec(new Runnable() {				public void run() {					getShell().setCursor(getWaitCursor());				}			});			Object eofSQLGenerator = SQLUtils.createEOFSQLGenerator(myModel, getEntityNames(), getSelectedDatabaseConfigMap(), getEOModelClassLoader());			Method executeSQLMethod = eofSQLGenerator.getClass().getMethod("executeSQL", new Class[] { String.class });			String[] statements = allSql.split(";");			setCancel(false);			for (int statementsNum = 0; !myCancel && statementsNum < statements.length; statementsNum++) {				String statement = statements[statementsNum];				statement = statement.trim().replaceAll("[\n\r]", " ");				if (statement.length() > 0) {					try {						executeSQLMethod.invoke(eofSQLGenerator, new Object[] { statement });					} catch (final Throwable t) {						Display.getDefault().syncExec(new Runnable() {							public void run() {								ErrorUtils.openErrorDialog(getShell(), t);								MessageDialog dialog = new MessageDialog(getShell(), "Error", null, "There was an error, do you want to cancel the rest of the script?", MessageDialog.QUESTION, new String[] { "Cancel", "Continue" }, 0);								int results = dialog.open();								boolean cancel = (results == 0);								setCancel(cancel);							}						});					}				}			}			Display.getDefault().syncExec(new Runnable() {				public void run() {					MessageDialog.openInformation(getShell(), "Done", "SQL Execution Complete");				}			});		} catch (final Throwable t) {			ErrorUtils.openErrorDialog(getShell(), t);		} finally {			Display.getDefault().syncExec(new Runnable() {				public void run() {					getShell().setCursor(null);				}			});		}	}