if ( dataSources == null ) throw new IllegalStateException("DataEngine has been shutdown");
	public void defineDataSource( IBaseDataSourceDesign dataSource ) throws DataException	{		if ( dataSource == null )			throw new NullPointerException("dataSource param cannot be null ");		String name = dataSource.getName();		if ( name == null || name.length() == 0 )			throw new IllegalArgumentException("Data source has no name");			    // See if this data source is already defined; if so update its design	    Object existingDefn = dataSources.get( dataSource.getName() );	    if ( existingDefn != null )	    {	        (( DataSourceRuntime ) existingDefn).setDesign( dataSource );	    }	    else	    {	        // Create a corresponding runtime for the data source and add it to the map	        DataSourceRuntime newDefn = DataSourceRuntime.newInstance( dataSource, this );	        dataSources.put( newDefn.getName(), newDefn );	    }	}