if ( chart.getDimension( ) == ChartDimension.THREE_DIMENSIONAL_LITERAL ) {  SeriesDefinition sdZ = getAncillaryBaseSeriesDefinitionForProcessing( );  if ( sdZ != null && sd.getAncillarySampleData( ).size( ) > 0 ) { Series seriesZRuntime = (Series) EcoreUtil.copy( sdZ.getDesignTimeSeries( ) );  seriesZRuntime.setDataSet( null );  seriesZRuntime.setDataSet( ( PluginSettings.instance( ).getDataSetProcessor( sdZ.getDesignTimeSeries( ) .getClass( ) ) ).fromString( ( (BaseSampleData) sd.getAncillarySampleData( ) .get( 0 ) ).getDataSetRepresentation( ), seriesZRuntime.getDataSet( ) ) ); sdZ.getSeries( ).add( seriesZRuntime );  seriesZRuntime.setSeriesIdentifier( "Series" ); } }
	public final void createSampleRuntimeSeries( )	{		Chart chart = this;		SampleData sd = chart.getSampleData( );		if ( sd == null				|| sd.getBaseSampleData( ).size( ) == 0				|| sd.getOrthogonalSampleData( ).size( ) == 0 )		{			return;		}		try		{			// Process Base SeriesDefinitions			Series seriesBaseRuntime = (Series) EcoreUtil.copy( getBaseSeriesDefinitionForProcessing( ).getDesignTimeSeries( ) );			// Clear existing values from the dataset			seriesBaseRuntime.setDataSet( null );			// Clear any existing Runtime Series			chart.clearSections( IConstants.RUN_TIME );			// Get the BaseSampleData and use it to construct dataset			seriesBaseRuntime.setDataSet( ( PluginSettings.instance( ).getDataSetProcessor( getBaseSeriesDefinitionForProcessing( ).getDesignTimeSeries( )					.getClass( ) ) ).fromString( ( (BaseSampleData) sd.getBaseSampleData( )					.get( 0 ) ).getDataSetRepresentation( ),					seriesBaseRuntime.getDataSet( ) ) );			getBaseSeriesDefinitionForProcessing( ).getSeries( )					.add( seriesBaseRuntime );			// Set sample series identifier			seriesBaseRuntime.setSeriesIdentifier( "Category 1" ); //$NON-NLS-1$			// Process Orthogonal SeriesDefinitions			Vector vOSD = getOrthogonalSeriesDefinitions( );			int[] iOSD = new int[vOSD.size( )];			SeriesDefinition sdTmp = null;			Series seriesOrthogonalRuntime = null;			// Initialize position array and clear any existing runtime series			for ( int i = 0; i < iOSD.length; i++ )			{				iOSD[i] = 0;				sdTmp = (SeriesDefinition) vOSD.get( i );			}			// Fetch the DataSetRepresentations for orthogonal sample data			for ( int iO = 0; iO < sd.getOrthogonalSampleData( ).size( ); iO++ )			{				OrthogonalSampleData osd = (OrthogonalSampleData) sd.getOrthogonalSampleData( )						.get( iO );				int iSDIndex = osd.getSeriesDefinitionIndex( );				// If the series definition has been removed				if ( iSDIndex > vOSD.size( ) - 1 )				{					// Remove the Orthogonal Sample Data entry (since it is no					// longer valid)					sd.getOrthogonalSampleData( ).remove( iO );					// Reset the loop counter to not lose an entry					iO--;					// continue with the next iteration					continue;				}				// Create runtime series for SeriesDefinition index				sdTmp = (SeriesDefinition) vOSD.get( iSDIndex );				seriesOrthogonalRuntime = (Series) EcoreUtil.copy( sdTmp.getDesignTimeSeries( ) );				// Clear existing values from the dataset				seriesOrthogonalRuntime.setDataSet( null );				// Set the new dataset with sample values				seriesOrthogonalRuntime.setDataSet( ( PluginSettings.instance( ).getDataSetProcessor( sdTmp.getDesignTimeSeries( )						.getClass( ) ) ).fromString( osd.getDataSetRepresentation( ),						seriesOrthogonalRuntime.getDataSet( ) ) );				// Set sample series identifiers				seriesOrthogonalRuntime.setSeriesIdentifier( "Series " //$NON-NLS-1$						+ ( sdTmp.getSeries( ).size( ) ) );				// Set sample data definition				Query q = QueryImpl.create( "Data " //$NON-NLS-1$						+ ( sdTmp.getSeries( ).size( ) ) );				seriesOrthogonalRuntime.getDataDefinition( ).add( q );				sdTmp.getSeries( ).add( seriesOrthogonalRuntime );			}		}		catch ( Exception e1 )		{			logger.log( e1 );		}	}