return bCancel;
	private void switchDataSet( String datasetName ) throws ChartException	{		if ( getDataServiceProvider( ).getBoundDataSet( ) != null				&& getDataServiceProvider( ).getBoundDataSet( )						.equals( datasetName ) )		{			return;		}		try		{			bCancel = Window.OK;			String oldDataSetName = getDataServiceProvider( ).getBoundDataSet( );			getDataServiceProvider( ).beforeTransaction( );			// Clear old dataset and preview data			getDataServiceProvider( ).setDataSet( datasetName );			tablePreview.clearContents( );			// Popup data binding			if ( getDataServiceProvider( ).getBoundDataSet( ) != null					|| getDataServiceProvider( ).getReportDataSet( ) != null )			{				bCancel = getDataServiceProvider( ).invoke( IDataServiceProvider.COMMAND_EDIT_BINDING );			}			if ( bCancel == Window.CANCEL )			{				getDataServiceProvider( ).afterTransaction( );				datasetName = oldDataSetName;			}			// Try to get report data set			if ( datasetName == null )			{				datasetName = getDataServiceProvider( ).getReportDataSet( );			}			if ( datasetName != null )			{				switchDataTable( );			}			else			{				tablePreview.createDummyTable( );			}			tablePreview.layout( );		}		catch ( Throwable t )		{			throw new ChartException( ChartEnginePlugin.ID,					ChartException.DATA_BINDING,					t );		}		DataDefinitionTextManager.getInstance( ).refreshAll( );		doLivePreview( );	}