addAnnotation( getMarkerRange_Triggers( ), source, new String[]{ "kind", "element", "name", "Triggers" } );
	protected void createExtendedMetaDataAnnotations( )	{		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$						addAnnotation( axisEClass, source, new String[]{				"name", "Axis", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Type( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Type" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Title( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Title" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_SubTitle( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "SubTitle" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_TitlePosition( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "TitlePosition" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_AssociatedAxes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "AssociatedAxes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_AncillaryAxes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "AncillaryAxes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_SeriesDefinitions( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "SeriesDefinitions" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_GapWidth( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "GapWidth" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Orientation( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Orientation" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_LineAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LineAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Label( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Label" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_FormatSpecifier( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "FormatSpecifier" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_LabelPosition( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LabelPosition" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Staggered( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Staggered" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_MarkerLines( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MarkerLines" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_MarkerRanges( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MarkerRanges" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_MajorGrid( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MajorGrid" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_MinorGrid( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MinorGrid" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Scale( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Scale" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Origin( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Origin" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_PrimaryAxis( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "PrimaryAxis" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_CategoryAxis( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "CategoryAxis" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getAxis_Percent( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Percent" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( chartPreferencesEClass, source, new String[]{				"name", "ChartPreferences", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getChartPreferences_Labels( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Labels" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getChartPreferences_Blocks( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Blocks" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( curveFittingEClass, source, new String[]{				"name", "CurveFitting", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getCurveFitting_LineAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LineAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getCurveFitting_Label( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Label" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getCurveFitting_LabelAnchor( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LabelAnchor" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( dialEClass, source, new String[]{				"name", "Dial", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_StartAngle( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "StartAngle" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_StopAngle( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "StopAngle" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_Radius( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Radius" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_LineAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LineAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_Fill( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Fill" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_DialRegions( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "DialRegions" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_MajorGrid( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MajorGrid" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_MinorGrid( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MinorGrid" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_Scale( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Scale" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_InverseScale( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "InverseScale" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_Label( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Label" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDial_FormatSpecifier( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "FormatSpecifier" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( dialRegionEClass, source, new String[]{				"name", "DialRegion", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDialRegion_InnerRadius( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "InnerRadius" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getDialRegion_OuterRadius( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "OuterRadius" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( gridEClass, source, new String[]{				"name", "Grid", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getGrid_LineAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LineAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getGrid_TickStyle( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "TickStyle" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getGrid_TickAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "TickAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getGrid_TickSize( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "TickSize" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getGrid_TickCount( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "TickCount" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( labelEClass, source, new String[]{				"name", "Label", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getLabel_Caption( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Caption" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getLabel_Background( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Background" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getLabel_Outline( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Outline" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getLabel_ShadowColor( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "ShadowColor" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getLabel_Insets( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Insets" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getLabel_Visible( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Visible" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( markerLineEClass, source, new String[]{				"name", "MarkerLine", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerLine_LineAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LineAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerLine_Value( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Value" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerLine_Label( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Label" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerLine_LabelAnchor( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LabelAnchor" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerLine_FormatSpecifier( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "FormatSpecifier" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( markerRangeEClass, source, new String[]{				"name", "MarkerRange", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_Outline( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Outline" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_Fill( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Fill" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_StartValue( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "StartValue" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_EndValue( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "EndValue" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_Label( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Label" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_LabelAnchor( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LabelAnchor" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getMarkerRange_FormatSpecifier( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "FormatSpecifier" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( needleEClass, source, new String[]{				"name", "Needle", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getNeedle_LineAttributes( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LineAttributes" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getNeedle_Decorator( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Decorator" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( scaleEClass, source, new String[]{				"name", "Scale", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getScale_Min( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Min" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getScale_Max( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Max" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getScale_Step( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Step" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getScale_Unit( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Unit" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getScale_MinorGridsPerUnit( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "MinorGridsPerUnit" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( seriesEClass, source, new String[]{				"name", "Series", //$NON-NLS-1$ //$NON-NLS-2$				"kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_Visible( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Visible" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_Label( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Label" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_DataDefinition( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "DataDefinition" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_SeriesIdentifier( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "SeriesIdentifier" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_DataPoint( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "DataPoint" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_DataSets( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "DataSets" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_LabelPosition( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "LabelPosition" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_Stacked( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Stacked" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_Triggers( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Triggers" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_Translucent( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "Translucent" //$NON-NLS-1$ //$NON-NLS-2$		} );		addAnnotation( getSeries_CurveFitting( ), source, new String[]{				"kind", "element", //$NON-NLS-1$ //$NON-NLS-2$				"name", "CurveFitting" //$NON-NLS-1$ //$NON-NLS-2$		} );	}