ChartPreviewPainter.ignoreNotifications( true );
ChartAdapter.ignoreNotifications( true );
	private void changeOverlaySeriesType( )	{		try		{			// CREATE A NEW SERIES INSTANCE OF APPROPRIATE TYPE...USING THE			// create() METHOD			Class seriesClass = Class.forName( htSeriesNames.get( cbSeriesType.getText( ) )					.toString( ) );			Method createMethod = seriesClass.getDeclaredMethod( "create", new Class[]{} ); //$NON-NLS-1$			// CHANGE ALL OVERLAY SERIES TO NEW SELECTED TYPE			Axis XAxis = (Axis) ( (ChartWithAxes) chartModel ).getAxes( )					.get( 0 );			int iSeriesDefinitionIndex = 0 + ( (Axis) XAxis.getAssociatedAxes( )					.get( 0 ) ).getSeriesDefinitions( ).size( ); // SINCE			// THIS IS			// FOR THE			// ORTHOGONAL			// OVERLAY			// SERIES			// DEFINITION			int iOverlaySeriesCount = ( (Axis) XAxis.getAssociatedAxes( )					.get( 1 ) ).getSeriesDefinitions( ).size( );			// DISABLE NOTIFICATIONS WHILE MODEL UPDATE TAKES PLACE			ChartPreviewPainter.ignoreNotifications( true );			for ( int i = 0; i < iOverlaySeriesCount; i++ )			{				Series newSeries = (Series) createMethod.invoke( seriesClass,						new Object[]{} );				newSeries.translateFrom( ( (SeriesDefinition) ( (Axis) XAxis.getAssociatedAxes( )						.get( 1 ) ).getSeriesDefinitions( ).get( i ) ).getDesignTimeSeries( ),						iSeriesDefinitionIndex,						chartModel );				// ADD THE MODEL ADAPTERS TO THE NEW SERIES				newSeries.eAdapters( ).addAll( chartModel.eAdapters( ) );				// UPDATE THE SERIES DEFINITION WITH THE SERIES INSTANCE				( (SeriesDefinition) ( (Axis) XAxis.getAssociatedAxes( )						.get( 1 ) ).getSeriesDefinitions( ).get( i ) ).getSeries( )						.clear( );				( (SeriesDefinition) ( (Axis) XAxis.getAssociatedAxes( )						.get( 1 ) ).getSeriesDefinitions( ).get( i ) ).getSeries( )						.add( newSeries );			}		}		catch ( Exception e )		{			// TODO Auto-generated catch block			e.printStackTrace( );		}		finally		{			// ENABLE NOTIFICATIONS IN CASE EXCEPTIONS OCCUR			ChartPreviewPainter.ignoreNotifications( true );		}	}