catch up with development

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.xtend
index 3ce7589..9303462 100644
--- a/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.xtend
@@ -672,7 +672,7 @@
 		«body»
 			String title = null;
 			for (DerivedMember member : pos.getMembers()) {
-				if(member.getType() == MemberType.MEASURE) {
+				if(member.getType() == MemberType.MEASURE || member.getType() == MemberType.FORMULA) {
 					if	(title == null) {
 						title = dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());
 					}
@@ -774,18 +774,30 @@
 			«body»	ArrayList<Object> «inner_axis.axis.name.literal»DataSeries = new ArrayList<Object>();
 			'''				 	
 		}
-		body = '''
-		«body»	if(«outer_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.«IF outer_axis==data_axis»MEASURE«ELSE»REGULAR«ENDIF») {
-		'''
+		if(outer_axis == data_axis) {
+			body = '''
+			«body»	if(«outer_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.MEASURE || «outer_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.FORMULA) {
+			'''
+		} else {
+			body = '''
+			«body»	if(«outer_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.REGULAR) {
+			'''
+		}
 		body = '''
 		«body»		int «inner_axis.axis.name.literal»No = 0;
 		'''
 		body = '''
 		«body»		for	(DerivedPosition «inner_axis.axis.name.literal»Pos : cellSet.getAxes().get(«inner_axis.axis.name.value»).getPositions()) {
 		'''
-		body = '''
-		«body»			if(«inner_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.«IF inner_axis==data_axis»MEASURE«ELSE»REGULAR«ENDIF») {
-		'''
+		if(inner_axis == data_axis) {
+			body = '''
+			«body»			if(«inner_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.MEASURE || «inner_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.FORMULA) {
+			'''
+		} else {
+			body = '''
+			«body»			if(«inner_axis.axis.name.literal»Pos.getMembers().get(0).getType() == MemberType.REGULAR) {
+			'''
+		} 
 		if (chart.charttype instanceof ChartPie) {
 			body = '''
 			«body»				dataSeries.newSeries();
diff --git a/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/scoping/ChartDSLScopeProvider.xtend b/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/scoping/ChartDSLScopeProvider.xtend
index f95b185..c3a1f87 100644
--- a/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/scoping/ChartDSLScopeProvider.xtend
+++ b/org.eclipse.osbp.xtext.chart/src/org/eclipse/osbp/xtext/chart/scoping/ChartDSLScopeProvider.xtend
@@ -46,6 +46,8 @@
 import org.eclipse.osbp.xtext.action.ActionButton
 import org.eclipse.osbp.xtext.action.ChartActionEnum
 import org.eclipse.osbp.xtext.action.ActionChart
+import org.eclipse.osbp.xtext.action.ActionInclude
+import org.eclipse.osbp.xtext.action.ActionFunction
 
 class ChartDSLScopeProvider extends AbstractChartDSLScopeProvider {
 	@Override
@@ -73,14 +75,21 @@
 	}
 
 	private def filterToolbarScopeCondition (ActionToolbar toolbar) {
+		return toolbar.iterateToolbarScopeCondition
+	}
+	
+	private def boolean iterateToolbarScopeCondition(ActionToolbar toolbar) {
 		var allItemsOfChart = true
 		if (toolbar !== null) {
 			for(item:toolbar.actions) {
 				if(item instanceof ActionButton) {
-					if(!(item.command.actionType instanceof ActionChart)) {
+					if(!(item.command.actionType instanceof ActionChart) && !(item.command.actionType instanceof ActionFunction)) {
 						allItemsOfChart = false
 					}
+				} else if(item instanceof ActionInclude) {
+					allItemsOfChart = (item as ActionInclude).include.iterateToolbarScopeCondition 
 				}
+				
 			}
 		}
 		return allItemsOfChart
diff --git a/org.eclipse.osbp.xtext.chart/xtend-gen/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.chart/xtend-gen/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.java
index 54d106e..4860fe6 100644
--- a/org.eclipse.osbp.xtext.chart/xtend-gen/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.java
+++ b/org.eclipse.osbp.xtext.chart/xtend-gen/org/eclipse/osbp/xtext/chart/jvmmodel/ChartDSLJvmModelInferrer.java
@@ -1268,7 +1268,7 @@
     _builder_4.append("for (DerivedMember member : pos.getMembers()) {");
     _builder_4.newLine();
     _builder_4.append("\t\t");
-    _builder_4.append("if(member.getType() == MemberType.MEASURE) {");
+    _builder_4.append("if(member.getType() == MemberType.MEASURE || member.getType() == MemberType.FORMULA) {");
     _builder_4.newLine();
     _builder_4.append("\t\t\t");
     _builder_4.append("if\t(title == null) {");
@@ -1549,298 +1549,310 @@
       _builder_17.newLineIfNotEmpty();
       body = _builder_17.toString();
     }
-    StringConcatenation _builder_18 = new StringConcatenation();
-    _builder_18.append(body);
-    _builder_18.append("\tif(");
-    String _literal_21 = outer_axis.getAxis().getName().getLiteral();
-    _builder_18.append(_literal_21);
-    _builder_18.append("Pos.getMembers().get(0).getType() == MemberType.");
-    {
-      boolean _equals = Objects.equal(outer_axis, data_axis);
-      if (_equals) {
-        _builder_18.append("MEASURE");
-      } else {
-        _builder_18.append("REGULAR");
-      }
+    boolean _equals = Objects.equal(outer_axis, data_axis);
+    if (_equals) {
+      StringConcatenation _builder_18 = new StringConcatenation();
+      _builder_18.append(body);
+      _builder_18.append("\tif(");
+      String _literal_21 = outer_axis.getAxis().getName().getLiteral();
+      _builder_18.append(_literal_21);
+      _builder_18.append("Pos.getMembers().get(0).getType() == MemberType.MEASURE || ");
+      String _literal_22 = outer_axis.getAxis().getName().getLiteral();
+      _builder_18.append(_literal_22);
+      _builder_18.append("Pos.getMembers().get(0).getType() == MemberType.FORMULA) {");
+      _builder_18.newLineIfNotEmpty();
+      body = _builder_18.toString();
+    } else {
+      StringConcatenation _builder_19 = new StringConcatenation();
+      _builder_19.append(body);
+      _builder_19.append("\tif(");
+      String _literal_23 = outer_axis.getAxis().getName().getLiteral();
+      _builder_19.append(_literal_23);
+      _builder_19.append("Pos.getMembers().get(0).getType() == MemberType.REGULAR) {");
+      _builder_19.newLineIfNotEmpty();
+      body = _builder_19.toString();
     }
-    _builder_18.append(") {");
-    _builder_18.newLineIfNotEmpty();
-    body = _builder_18.toString();
-    StringConcatenation _builder_19 = new StringConcatenation();
-    _builder_19.append(body);
-    _builder_19.append("\t\tint ");
-    String _literal_22 = inner_axis.getAxis().getName().getLiteral();
-    _builder_19.append(_literal_22);
-    _builder_19.append("No = 0;");
-    _builder_19.newLineIfNotEmpty();
-    body = _builder_19.toString();
     StringConcatenation _builder_20 = new StringConcatenation();
     _builder_20.append(body);
-    _builder_20.append("\t\tfor\t(DerivedPosition ");
-    String _literal_23 = inner_axis.getAxis().getName().getLiteral();
-    _builder_20.append(_literal_23);
-    _builder_20.append("Pos : cellSet.getAxes().get(");
-    int _value_4 = inner_axis.getAxis().getName().getValue();
-    _builder_20.append(_value_4);
-    _builder_20.append(").getPositions()) {");
+    _builder_20.append("\t\tint ");
+    String _literal_24 = inner_axis.getAxis().getName().getLiteral();
+    _builder_20.append(_literal_24);
+    _builder_20.append("No = 0;");
     _builder_20.newLineIfNotEmpty();
     body = _builder_20.toString();
     StringConcatenation _builder_21 = new StringConcatenation();
     _builder_21.append(body);
-    _builder_21.append("\t\t\tif(");
-    String _literal_24 = inner_axis.getAxis().getName().getLiteral();
-    _builder_21.append(_literal_24);
-    _builder_21.append("Pos.getMembers().get(0).getType() == MemberType.");
-    {
-      boolean _equals_1 = Objects.equal(inner_axis, data_axis);
-      if (_equals_1) {
-        _builder_21.append("MEASURE");
-      } else {
-        _builder_21.append("REGULAR");
-      }
-    }
-    _builder_21.append(") {");
+    _builder_21.append("\t\tfor\t(DerivedPosition ");
+    String _literal_25 = inner_axis.getAxis().getName().getLiteral();
+    _builder_21.append(_literal_25);
+    _builder_21.append("Pos : cellSet.getAxes().get(");
+    int _value_4 = inner_axis.getAxis().getName().getValue();
+    _builder_21.append(_value_4);
+    _builder_21.append(").getPositions()) {");
     _builder_21.newLineIfNotEmpty();
     body = _builder_21.toString();
-    ChartOption _charttype_12 = chart.getCharttype();
-    if ((_charttype_12 instanceof ChartPie)) {
+    boolean _equals_1 = Objects.equal(inner_axis, data_axis);
+    if (_equals_1) {
       StringConcatenation _builder_22 = new StringConcatenation();
       _builder_22.append(body);
-      _builder_22.append("\t\t\t\tdataSeries.newSeries();");
+      _builder_22.append("\t\t\tif(");
+      String _literal_26 = inner_axis.getAxis().getName().getLiteral();
+      _builder_22.append(_literal_26);
+      _builder_22.append("Pos.getMembers().get(0).getType() == MemberType.MEASURE || ");
+      String _literal_27 = inner_axis.getAxis().getName().getLiteral();
+      _builder_22.append(_literal_27);
+      _builder_22.append("Pos.getMembers().get(0).getType() == MemberType.FORMULA) {");
       _builder_22.newLineIfNotEmpty();
       body = _builder_22.toString();
-    }
-    StringConcatenation _builder_23 = new StringConcatenation();
-    _builder_23.append(body);
-    _builder_23.append("\t\t\t\tcoordinate.set(");
-    int _value_5 = inner_axis.getAxis().getName().getValue();
-    _builder_23.append(_value_5);
-    _builder_23.append(", ");
-    String _literal_25 = inner_axis.getAxis().getName().getLiteral();
-    _builder_23.append(_literal_25);
-    _builder_23.append("No);");
-    _builder_23.newLineIfNotEmpty();
-    body = _builder_23.toString();
-    StringConcatenation _builder_24 = new StringConcatenation();
-    _builder_24.append(body);
-    _builder_24.newLineIfNotEmpty();
-    _builder_24.append("\t\t\t\t");
-    _builder_24.append("Object value = null;");
-    _builder_24.newLine();
-    _builder_24.append("\t\t\t\t");
-    _builder_24.append("DerivedCell cell = cellSet.getCell(coordinate);");
-    _builder_24.newLine();
-    _builder_24.append("\t\t\t\t");
-    _builder_24.append("if (cell != null) {");
-    _builder_24.newLine();
-    _builder_24.append("\t\t\t\t\t");
-    _builder_24.append("value = cell.getValue();");
-    _builder_24.newLine();
-    _builder_24.append("\t\t\t\t");
-    _builder_24.append("}");
-    _builder_24.newLine();
-    body = _builder_24.toString();
-    if (((chart.getCharttype() instanceof ChartPie) || (chart.getCharttype() instanceof ChartDonut))) {
-      StringConcatenation _builder_25 = new StringConcatenation();
-      _builder_25.append(body);
-      _builder_25.append("\t\t\t\tdataSeries.add(");
-      String _literal_26 = outer_axis.getAxis().getName().getLiteral();
-      _builder_25.append(_literal_26);
-      _builder_25.append("TitlesArray.get(");
-      String _literal_27 = outer_axis.getAxis().getName().getLiteral();
-      _builder_25.append(_literal_27);
-      _builder_25.append("No),(value == null ? 0.0 : value));");
-      _builder_25.newLineIfNotEmpty();
-      body = _builder_25.toString();
     } else {
-      StringConcatenation _builder_26 = new StringConcatenation();
-      _builder_26.append(body);
-      _builder_26.append("\t\t\t\t");
+      StringConcatenation _builder_23 = new StringConcatenation();
+      _builder_23.append(body);
+      _builder_23.append("\t\t\tif(");
       String _literal_28 = inner_axis.getAxis().getName().getLiteral();
-      _builder_26.append(_literal_28);
-      _builder_26.append("DataSeries.add(value == null ? 0.0 : value);");
-      _builder_26.newLineIfNotEmpty();
-      body = _builder_26.toString();
+      _builder_23.append(_literal_28);
+      _builder_23.append("Pos.getMembers().get(0).getType() == MemberType.REGULAR) {");
+      _builder_23.newLineIfNotEmpty();
+      body = _builder_23.toString();
     }
-    StringConcatenation _builder_27 = new StringConcatenation();
-    _builder_27.append(body);
-    _builder_27.append("\t\t\t\t");
+    ChartOption _charttype_12 = chart.getCharttype();
+    if ((_charttype_12 instanceof ChartPie)) {
+      StringConcatenation _builder_24 = new StringConcatenation();
+      _builder_24.append(body);
+      _builder_24.append("\t\t\t\tdataSeries.newSeries();");
+      _builder_24.newLineIfNotEmpty();
+      body = _builder_24.toString();
+    }
+    StringConcatenation _builder_25 = new StringConcatenation();
+    _builder_25.append(body);
+    _builder_25.append("\t\t\t\tcoordinate.set(");
+    int _value_5 = inner_axis.getAxis().getName().getValue();
+    _builder_25.append(_value_5);
+    _builder_25.append(", ");
     String _literal_29 = inner_axis.getAxis().getName().getLiteral();
-    _builder_27.append(_literal_29);
-    _builder_27.append("No ++;");
-    _builder_27.newLineIfNotEmpty();
-    _builder_27.append("\t\t\t");
-    _builder_27.append("}");
-    _builder_27.newLine();
-    _builder_27.append("\t\t");
-    _builder_27.append("}");
-    _builder_27.newLine();
-    body = _builder_27.toString();
+    _builder_25.append(_literal_29);
+    _builder_25.append("No);");
+    _builder_25.newLineIfNotEmpty();
+    body = _builder_25.toString();
+    StringConcatenation _builder_26 = new StringConcatenation();
+    _builder_26.append(body);
+    _builder_26.newLineIfNotEmpty();
+    _builder_26.append("\t\t\t\t");
+    _builder_26.append("Object value = null;");
+    _builder_26.newLine();
+    _builder_26.append("\t\t\t\t");
+    _builder_26.append("DerivedCell cell = cellSet.getCell(coordinate);");
+    _builder_26.newLine();
+    _builder_26.append("\t\t\t\t");
+    _builder_26.append("if (cell != null) {");
+    _builder_26.newLine();
+    _builder_26.append("\t\t\t\t\t");
+    _builder_26.append("value = cell.getValue();");
+    _builder_26.newLine();
+    _builder_26.append("\t\t\t\t");
+    _builder_26.append("}");
+    _builder_26.newLine();
+    body = _builder_26.toString();
+    if (((chart.getCharttype() instanceof ChartPie) || (chart.getCharttype() instanceof ChartDonut))) {
+      StringConcatenation _builder_27 = new StringConcatenation();
+      _builder_27.append(body);
+      _builder_27.append("\t\t\t\tdataSeries.add(");
+      String _literal_30 = outer_axis.getAxis().getName().getLiteral();
+      _builder_27.append(_literal_30);
+      _builder_27.append("TitlesArray.get(");
+      String _literal_31 = outer_axis.getAxis().getName().getLiteral();
+      _builder_27.append(_literal_31);
+      _builder_27.append("No),(value == null ? 0.0 : value));");
+      _builder_27.newLineIfNotEmpty();
+      body = _builder_27.toString();
+    } else {
+      StringConcatenation _builder_28 = new StringConcatenation();
+      _builder_28.append(body);
+      _builder_28.append("\t\t\t\t");
+      String _literal_32 = inner_axis.getAxis().getName().getLiteral();
+      _builder_28.append(_literal_32);
+      _builder_28.append("DataSeries.add(value == null ? 0.0 : value);");
+      _builder_28.newLineIfNotEmpty();
+      body = _builder_28.toString();
+    }
+    StringConcatenation _builder_29 = new StringConcatenation();
+    _builder_29.append(body);
+    _builder_29.append("\t\t\t\t");
+    String _literal_33 = inner_axis.getAxis().getName().getLiteral();
+    _builder_29.append(_literal_33);
+    _builder_29.append("No ++;");
+    _builder_29.newLineIfNotEmpty();
+    _builder_29.append("\t\t\t");
+    _builder_29.append("}");
+    _builder_29.newLine();
+    _builder_29.append("\t\t");
+    _builder_29.append("}");
+    _builder_29.newLine();
+    body = _builder_29.toString();
     if (((!(chart.getCharttype() instanceof ChartPie)) && (!(chart.getCharttype() instanceof ChartDonut)))) {
       ChartOption _charttype_13 = chart.getCharttype();
       if ((_charttype_13 instanceof ChartBubble)) {
-        StringConcatenation _builder_28 = new StringConcatenation();
-        _builder_28.append(body);
-        _builder_28.append("\t\t\t");
-        String _literal_30 = inner_axis.getAxis().getName().getLiteral();
-        _builder_28.append(_literal_30);
-        _builder_28.append("DataSeries.add(");
-        String _literal_31 = outer_axis.getAxis().getName().getLiteral();
-        _builder_28.append(_literal_31);
-        _builder_28.append("TitlesArray.get(");
-        String _literal_32 = outer_axis.getAxis().getName().getLiteral();
-        _builder_28.append(_literal_32);
-        _builder_28.append("No));");
-        _builder_28.newLineIfNotEmpty();
-        body = _builder_28.toString();
+        StringConcatenation _builder_30 = new StringConcatenation();
+        _builder_30.append(body);
+        _builder_30.append("\t\t\t");
+        String _literal_34 = inner_axis.getAxis().getName().getLiteral();
+        _builder_30.append(_literal_34);
+        _builder_30.append("DataSeries.add(");
+        String _literal_35 = outer_axis.getAxis().getName().getLiteral();
+        _builder_30.append(_literal_35);
+        _builder_30.append("TitlesArray.get(");
+        String _literal_36 = outer_axis.getAxis().getName().getLiteral();
+        _builder_30.append(_literal_36);
+        _builder_30.append("No));");
+        _builder_30.newLineIfNotEmpty();
+        body = _builder_30.toString();
       }
-      StringConcatenation _builder_29 = new StringConcatenation();
-      _builder_29.append(body);
-      _builder_29.append("\t\tdataSeries.add(");
-      String _literal_33 = inner_axis.getAxis().getName().getLiteral();
-      _builder_29.append(_literal_33);
-      _builder_29.append("DataSeries.toArray());");
-      _builder_29.newLineIfNotEmpty();
-      body = _builder_29.toString();
+      StringConcatenation _builder_31 = new StringConcatenation();
+      _builder_31.append(body);
+      _builder_31.append("\t\tdataSeries.add(");
+      String _literal_37 = inner_axis.getAxis().getName().getLiteral();
+      _builder_31.append(_literal_37);
+      _builder_31.append("DataSeries.toArray());");
+      _builder_31.newLineIfNotEmpty();
+      body = _builder_31.toString();
     }
-    StringConcatenation _builder_30 = new StringConcatenation();
-    _builder_30.append(body);
-    _builder_30.append("\t}");
-    _builder_30.newLineIfNotEmpty();
-    _builder_30.append("\t");
-    String _literal_34 = outer_axis.getAxis().getName().getLiteral();
-    _builder_30.append(_literal_34, "\t");
-    _builder_30.append("No ++;");
-    _builder_30.newLineIfNotEmpty();
-    _builder_30.append("}");
-    _builder_30.newLine();
-    body = _builder_30.toString();
-    StringConcatenation _builder_31 = new StringConcatenation();
-    _builder_31.append(body);
-    _builder_31.append("SeriesDefaults seriesDefaults = new SeriesDefaults()");
-    _builder_31.newLineIfNotEmpty();
-    _builder_31.append("\t");
-    _builder_31.append(".setRenderer(SeriesRenderers.");
-    _builder_31.append(chartType, "\t");
-    _builder_31.append(");");
-    _builder_31.newLineIfNotEmpty();
-    body = _builder_31.toString();
+    StringConcatenation _builder_32 = new StringConcatenation();
+    _builder_32.append(body);
+    _builder_32.append("\t}");
+    _builder_32.newLineIfNotEmpty();
+    _builder_32.append("\t");
+    String _literal_38 = outer_axis.getAxis().getName().getLiteral();
+    _builder_32.append(_literal_38, "\t");
+    _builder_32.append("No ++;");
+    _builder_32.newLineIfNotEmpty();
+    _builder_32.append("}");
+    _builder_32.newLine();
+    body = _builder_32.toString();
+    StringConcatenation _builder_33 = new StringConcatenation();
+    _builder_33.append(body);
+    _builder_33.append("SeriesDefaults seriesDefaults = new SeriesDefaults()");
+    _builder_33.newLineIfNotEmpty();
+    _builder_33.append("\t");
+    _builder_33.append(".setRenderer(SeriesRenderers.");
+    _builder_33.append(chartType, "\t");
+    _builder_33.append(");");
+    _builder_33.newLineIfNotEmpty();
+    body = _builder_33.toString();
     ChartOption _charttype_14 = chart.getCharttype();
     if ((_charttype_14 instanceof ChartLine)) {
-      StringConcatenation _builder_32 = new StringConcatenation();
-      _builder_32.append(body);
-      _builder_32.append("seriesDefaults.setFillToZero(");
+      StringConcatenation _builder_34 = new StringConcatenation();
+      _builder_34.append(body);
+      _builder_34.append("seriesDefaults.setFillToZero(");
       ChartOption _charttype_15 = chart.getCharttype();
       String _string = Boolean.valueOf(Boolean.valueOf(((ChartLine) _charttype_15).isFillToZero()).booleanValue()).toString();
-      _builder_32.append(_string);
-      _builder_32.append(").setFill(");
+      _builder_34.append(_string);
+      _builder_34.append(").setFill(");
       ChartOption _charttype_16 = chart.getCharttype();
       String _string_1 = Boolean.valueOf(((ChartLine) _charttype_16).isFillArea()).toString();
-      _builder_32.append(_string_1);
-      _builder_32.append(");");
-      _builder_32.newLineIfNotEmpty();
-      body = _builder_32.toString();
+      _builder_34.append(_string_1);
+      _builder_34.append(");");
+      _builder_34.newLineIfNotEmpty();
+      body = _builder_34.toString();
       ChartOption _charttype_17 = chart.getCharttype();
       boolean _isTrendLine = ((ChartLine) _charttype_17).isTrendLine();
       if (_isTrendLine) {
-        StringConcatenation _builder_33 = new StringConcatenation();
-        _builder_33.append(body);
-        _builder_33.append("seriesDefaults.setTrendline(");
-        _builder_33.newLineIfNotEmpty();
-        _builder_33.append("\t");
-        _builder_33.append("new Trendline().setShow(true).setLineWidth(1));");
-        _builder_33.newLine();
-        body = _builder_33.toString();
+        StringConcatenation _builder_35 = new StringConcatenation();
+        _builder_35.append(body);
+        _builder_35.append("seriesDefaults.setTrendline(");
+        _builder_35.newLineIfNotEmpty();
+        _builder_35.append("\t");
+        _builder_35.append("new Trendline().setShow(true).setLineWidth(1));");
+        _builder_35.newLine();
+        body = _builder_35.toString();
       }
     }
-    StringConcatenation _builder_34 = new StringConcatenation();
-    _builder_34.append(body);
-    _builder_34.append("Options options = new Options()");
-    _builder_34.newLineIfNotEmpty();
-    _builder_34.append("\t");
-    _builder_34.append(".setSeriesDefaults(seriesDefaults);");
-    _builder_34.newLine();
-    body = _builder_34.toString();
+    StringConcatenation _builder_36 = new StringConcatenation();
+    _builder_36.append(body);
+    _builder_36.append("Options options = new Options()");
+    _builder_36.newLineIfNotEmpty();
+    _builder_36.append("\t");
+    _builder_36.append(".setSeriesDefaults(seriesDefaults);");
+    _builder_36.newLine();
+    body = _builder_36.toString();
     ChartOption _charttype_18 = chart.getCharttype();
     if ((_charttype_18 instanceof ChartPie)) {
-      StringConcatenation _builder_35 = new StringConcatenation();
-      _builder_35.append(body);
-      _builder_35.append("seriesDefaults.setRendererOptions(new PieRenderer()");
-      _builder_35.newLineIfNotEmpty();
-      _builder_35.append("\t");
-      _builder_35.append(".setShowDataLabels(true).setFill(");
+      StringConcatenation _builder_37 = new StringConcatenation();
+      _builder_37.append(body);
+      _builder_37.append("seriesDefaults.setRendererOptions(new PieRenderer()");
+      _builder_37.newLineIfNotEmpty();
+      _builder_37.append("\t");
+      _builder_37.append(".setShowDataLabels(true).setFill(");
       ChartOption _charttype_19 = chart.getCharttype();
       boolean _isEmpty = ((ChartPie) _charttype_19).isEmpty();
       String _string_2 = Boolean.valueOf((!_isEmpty)).toString();
-      _builder_35.append(_string_2, "\t");
-      _builder_35.append("));");
-      _builder_35.newLineIfNotEmpty();
-      body = _builder_35.toString();
+      _builder_37.append(_string_2, "\t");
+      _builder_37.append("));");
+      _builder_37.newLineIfNotEmpty();
+      body = _builder_37.toString();
     } else {
       ChartOption _charttype_20 = chart.getCharttype();
       if ((_charttype_20 instanceof ChartDonut)) {
-        StringConcatenation _builder_36 = new StringConcatenation();
-        _builder_36.append(body);
-        _builder_36.append("seriesDefaults.setRendererOptions(new DonutRenderer()");
-        _builder_36.newLineIfNotEmpty();
-        _builder_36.append("\t");
-        _builder_36.append(".setShowDataLabels(true)");
-        _builder_36.newLine();
-        _builder_36.append("\t");
-        _builder_36.append(".setStartAngle(-90)");
-        _builder_36.newLine();
-        _builder_36.append("\t");
-        _builder_36.append(".setSliceMargin(3));");
-        _builder_36.newLine();
-        body = _builder_36.toString();
+        StringConcatenation _builder_38 = new StringConcatenation();
+        _builder_38.append(body);
+        _builder_38.append("seriesDefaults.setRendererOptions(new DonutRenderer()");
+        _builder_38.newLineIfNotEmpty();
+        _builder_38.append("\t");
+        _builder_38.append(".setShowDataLabels(true)");
+        _builder_38.newLine();
+        _builder_38.append("\t");
+        _builder_38.append(".setStartAngle(-90)");
+        _builder_38.newLine();
+        _builder_38.append("\t");
+        _builder_38.append(".setSliceMargin(3));");
+        _builder_38.newLine();
+        body = _builder_38.toString();
       } else {
         ChartOption _charttype_21 = chart.getCharttype();
         if ((_charttype_21 instanceof ChartBubble)) {
-          StringConcatenation _builder_37 = new StringConcatenation();
-          _builder_37.append(body);
-          _builder_37.append("seriesDefaults.setRendererOptions(new BubbleRenderer()");
-          _builder_37.newLineIfNotEmpty();
-          _builder_37.append("\t");
-          _builder_37.append(".setVaryBubbleColors(true)");
-          _builder_37.newLine();
-          _builder_37.append("\t");
+          StringConcatenation _builder_39 = new StringConcatenation();
+          _builder_39.append(body);
+          _builder_39.append("seriesDefaults.setRendererOptions(new BubbleRenderer()");
+          _builder_39.newLineIfNotEmpty();
+          _builder_39.append("\t");
+          _builder_39.append(".setVaryBubbleColors(true)");
+          _builder_39.newLine();
+          _builder_39.append("\t");
           {
             ChartOption _charttype_22 = chart.getCharttype();
             boolean _isMultiplier = ((ChartBubble) _charttype_22).isMultiplier();
             if (_isMultiplier) {
-              _builder_37.append(".setAutoscaleMultiplier(");
+              _builder_39.append(".setAutoscaleMultiplier(");
               ChartOption _charttype_23 = chart.getCharttype();
               String _multiplierValue = ((ChartBubble) _charttype_23).getMultiplierValue();
-              _builder_37.append(_multiplierValue, "\t");
-              _builder_37.append("f)");
+              _builder_39.append(_multiplierValue, "\t");
+              _builder_39.append("f)");
             }
           }
-          _builder_37.newLineIfNotEmpty();
-          _builder_37.append("    ");
+          _builder_39.newLineIfNotEmpty();
+          _builder_39.append("    ");
           {
             ChartOption _charttype_24 = chart.getCharttype();
             boolean _isTransparent = ((ChartBubble) _charttype_24).isTransparent();
             if (_isTransparent) {
-              _builder_37.append(".setHighlightAlpha(0.8f).setBubbleAlpha(0.6f)");
+              _builder_39.append(".setHighlightAlpha(0.8f).setBubbleAlpha(0.6f)");
             }
           }
-          _builder_37.newLineIfNotEmpty();
-          _builder_37.append("\t");
+          _builder_39.newLineIfNotEmpty();
+          _builder_39.append("\t");
           {
             ChartOption _charttype_25 = chart.getCharttype();
             boolean _isGradient = ((ChartBubble) _charttype_25).isGradient();
             if (_isGradient) {
-              _builder_37.append(".setBubbleGradients(true)");
+              _builder_39.append(".setBubbleGradients(true)");
             }
           }
-          _builder_37.newLineIfNotEmpty();
-          _builder_37.append("\t");
-          _builder_37.append(".setShowLabels(false)");
-          _builder_37.newLine();
-          _builder_37.append("\t");
-          _builder_37.append(".setAutoscaleBubbles(true));");
-          _builder_37.newLine();
-          body = _builder_37.toString();
+          _builder_39.newLineIfNotEmpty();
+          _builder_39.append("\t");
+          _builder_39.append(".setShowLabels(false)");
+          _builder_39.newLine();
+          _builder_39.append("\t");
+          _builder_39.append(".setAutoscaleBubbles(true));");
+          _builder_39.newLine();
+          body = _builder_39.toString();
         } else {
           ChartOption _charttype_26 = chart.getCharttype();
           if ((_charttype_26 instanceof ChartGauge)) {
@@ -1853,133 +1865,133 @@
               EList<ChartInterval> _intervals = ((ChartGauge) _charttype_28).getIntervals();
               for (final ChartInterval interval : _intervals) {
                 if ((interval instanceof ChartNumberInterval)) {
-                  StringConcatenation _builder_38 = new StringConcatenation();
-                  _builder_38.append(intervalValues);
+                  StringConcatenation _builder_40 = new StringConcatenation();
+                  _builder_40.append(intervalValues);
                   {
                     int _length = intervalValues.length();
                     boolean _greaterThan = (_length > 0);
                     if (_greaterThan) {
-                      _builder_38.append(",");
+                      _builder_40.append(",");
                     }
                   }
                   int _numberIntervalValue = ((ChartNumberInterval) interval).getNumberIntervalValue();
-                  _builder_38.append(_numberIntervalValue);
-                  _builder_38.append("f");
-                  intervalValues = _builder_38.toString();
+                  _builder_40.append(_numberIntervalValue);
+                  _builder_40.append("f");
+                  intervalValues = _builder_40.toString();
                   ChartRangeElement _numberRange = ((ChartNumberInterval) interval).getNumberRange();
                   if ((_numberRange instanceof ChartSegmentColor)) {
-                    StringConcatenation _builder_39 = new StringConcatenation();
-                    _builder_39.append(intervalColors);
+                    StringConcatenation _builder_41 = new StringConcatenation();
+                    _builder_41.append(intervalColors);
                     {
                       int _length_1 = intervalColors.length();
                       boolean _greaterThan_1 = (_length_1 > 0);
                       if (_greaterThan_1) {
-                        _builder_39.append(",");
+                        _builder_41.append(",");
                       }
                     }
-                    _builder_39.append("\"");
+                    _builder_41.append("\"");
                     ChartRangeElement _numberRange_1 = ((ChartNumberInterval) interval).getNumberRange();
                     String _hex = this.toHex(((ChartSegmentColor) _numberRange_1).getRgb());
-                    _builder_39.append(_hex);
-                    _builder_39.append("\"");
-                    intervalColors = _builder_39.toString();
+                    _builder_41.append(_hex);
+                    _builder_41.append("\"");
+                    intervalColors = _builder_41.toString();
                   }
                 }
               }
             }
-            StringConcatenation _builder_40 = new StringConcatenation();
-            _builder_40.append(body);
-            _builder_40.append("seriesDefaults.setRendererOptions(new MeterGaugeRenderer()");
-            _builder_40.newLineIfNotEmpty();
-            _builder_40.append("\t");
-            _builder_40.append(".setShowTickLabels(");
+            StringConcatenation _builder_42 = new StringConcatenation();
+            _builder_42.append(body);
+            _builder_42.append("seriesDefaults.setRendererOptions(new MeterGaugeRenderer()");
+            _builder_42.newLineIfNotEmpty();
+            _builder_42.append("\t");
+            _builder_42.append(".setShowTickLabels(");
             ChartOption _charttype_29 = chart.getCharttype();
             String _string_3 = Boolean.valueOf(((ChartGauge) _charttype_29).isHasTicks()).toString();
-            _builder_40.append(_string_3, "\t");
-            _builder_40.append(")");
-            _builder_40.newLineIfNotEmpty();
-            _builder_40.append("\t");
+            _builder_42.append(_string_3, "\t");
+            _builder_42.append(")");
+            _builder_42.newLineIfNotEmpty();
+            _builder_42.append("\t");
             {
               ChartOption _charttype_30 = chart.getCharttype();
               boolean _isLabeled = ((ChartGauge) _charttype_30).isLabeled();
               if (_isLabeled) {
-                _builder_40.append(".setLabel(\"");
+                _builder_42.append(".setLabel(\"");
                 ChartOption _charttype_31 = chart.getCharttype();
                 String _labelValue = ((ChartGauge) _charttype_31).getLabelValue();
-                _builder_40.append(_labelValue, "\t");
-                _builder_40.append("\")");
+                _builder_42.append(_labelValue, "\t");
+                _builder_42.append("\")");
               }
             }
-            _builder_40.newLineIfNotEmpty();
-            _builder_40.append("\t");
+            _builder_42.newLineIfNotEmpty();
+            _builder_42.append("\t");
             {
               ChartOption _charttype_32 = chart.getCharttype();
               boolean _isHasIntervals_1 = ((ChartGauge) _charttype_32).isHasIntervals();
               if (_isHasIntervals_1) {
-                _builder_40.append(".setIntervals(");
-                _builder_40.append(intervalValues, "\t");
-                _builder_40.append(")");
+                _builder_42.append(".setIntervals(");
+                _builder_42.append(intervalValues, "\t");
+                _builder_42.append(")");
               }
             }
-            _builder_40.newLineIfNotEmpty();
-            _builder_40.append("\t");
+            _builder_42.newLineIfNotEmpty();
+            _builder_42.append("\t");
             {
               ChartOption _charttype_33 = chart.getCharttype();
               boolean _isHasIntervals_2 = ((ChartGauge) _charttype_33).isHasIntervals();
               if (_isHasIntervals_2) {
-                _builder_40.append(".setIntervalColors(");
-                _builder_40.append(intervalColors, "\t");
-                _builder_40.append(")");
+                _builder_42.append(".setIntervalColors(");
+                _builder_42.append(intervalColors, "\t");
+                _builder_42.append(")");
               }
             }
-            _builder_40.append(");");
-            _builder_40.newLineIfNotEmpty();
-            body = _builder_40.toString();
+            _builder_42.append(");");
+            _builder_42.newLineIfNotEmpty();
+            body = _builder_42.toString();
           } else {
             ChartOption _charttype_34 = chart.getCharttype();
             if ((_charttype_34 instanceof ChartBar)) {
-              StringConcatenation _builder_41 = new StringConcatenation();
-              _builder_41.append(body);
-              _builder_41.append("seriesDefaults.setFillToZero(true);");
-              _builder_41.newLineIfNotEmpty();
-              _builder_41.append("seriesDefaults.setRendererOptions(new BarRenderer()");
-              _builder_41.newLine();
-              _builder_41.append("    ");
+              StringConcatenation _builder_43 = new StringConcatenation();
+              _builder_43.append(body);
+              _builder_43.append("seriesDefaults.setFillToZero(true);");
+              _builder_43.newLineIfNotEmpty();
+              _builder_43.append("seriesDefaults.setRendererOptions(new BarRenderer()");
+              _builder_43.newLine();
+              _builder_43.append("    ");
               {
                 if (axisSwitch) {
-                  _builder_41.append(".setBarDirection(BarDirections.HOTIZONTAL));");
+                  _builder_43.append(".setBarDirection(BarDirections.HOTIZONTAL));");
                 } else {
-                  _builder_41.append(".setBarDirection(BarDirections.VERTICAL));");
+                  _builder_43.append(".setBarDirection(BarDirections.VERTICAL));");
                 }
               }
-              _builder_41.newLineIfNotEmpty();
-              body = _builder_41.toString();
+              _builder_43.newLineIfNotEmpty();
+              body = _builder_43.toString();
               ChartOption _charttype_35 = chart.getCharttype();
               boolean _isStacked = ((ChartBar) _charttype_35).isStacked();
               if (_isStacked) {
-                StringConcatenation _builder_42 = new StringConcatenation();
-                _builder_42.append(body);
-                _builder_42.append("options.setStackSeries(true);");
-                _builder_42.newLineIfNotEmpty();
-                body = _builder_42.toString();
+                StringConcatenation _builder_44 = new StringConcatenation();
+                _builder_44.append(body);
+                _builder_44.append("options.setStackSeries(true);");
+                _builder_44.newLineIfNotEmpty();
+                body = _builder_44.toString();
               }
               ChartOption _charttype_36 = chart.getCharttype();
               boolean _isShadow = ((ChartBar) _charttype_36).isShadow();
               if (_isShadow) {
-                StringConcatenation _builder_43 = new StringConcatenation();
-                _builder_43.append(body);
-                _builder_43.append("seriesDefaults.setShadow(true).setShadowAlpha(0.05f);");
-                _builder_43.newLineIfNotEmpty();
-                body = _builder_43.toString();
+                StringConcatenation _builder_45 = new StringConcatenation();
+                _builder_45.append(body);
+                _builder_45.append("seriesDefaults.setShadow(true).setShadowAlpha(0.05f);");
+                _builder_45.newLineIfNotEmpty();
+                body = _builder_45.toString();
               }
               ChartOption _charttype_37 = chart.getCharttype();
               boolean _isAnimated = ((ChartBar) _charttype_37).isAnimated();
               if (_isAnimated) {
-                StringConcatenation _builder_44 = new StringConcatenation();
-                _builder_44.append(body);
-                _builder_44.append("options.setAnimate(true);");
-                _builder_44.newLineIfNotEmpty();
-                body = _builder_44.toString();
+                StringConcatenation _builder_46 = new StringConcatenation();
+                _builder_46.append(body);
+                _builder_46.append("options.setAnimate(true);");
+                _builder_46.newLineIfNotEmpty();
+                body = _builder_46.toString();
               }
             }
           }
@@ -1989,179 +2001,179 @@
     EObject _eContainer_1 = chart.eContainer();
     boolean _isHasColors = ((ChartPackage) _eContainer_1).isHasColors();
     if (_isHasColors) {
-      StringConcatenation _builder_45 = new StringConcatenation();
-      _builder_45.append(body);
-      _builder_45.newLineIfNotEmpty();
-      _builder_45.append("String[] seriesColors = ");
+      StringConcatenation _builder_47 = new StringConcatenation();
+      _builder_47.append(body);
+      _builder_47.newLineIfNotEmpty();
+      _builder_47.append("String[] seriesColors = ");
       EObject _eContainer_2 = chart.eContainer();
       final Function<SeriesColor, String> _function = (SeriesColor it) -> {
-        StringConcatenation _builder_46 = new StringConcatenation();
-        _builder_46.append("\"");
+        StringConcatenation _builder_48 = new StringConcatenation();
+        _builder_48.append("\"");
         String _hex_1 = this.toHex(it.getRgb());
-        _builder_46.append(_hex_1);
-        _builder_46.append("\"");
-        return _builder_46.toString();
+        _builder_48.append(_hex_1);
+        _builder_48.append("\"");
+        return _builder_48.toString();
       };
       String _collect = ((ChartPackage) _eContainer_2).getColors().stream().<String>map(_function).collect(Collectors.joining(",", "{", "}"));
-      _builder_45.append(_collect);
-      _builder_45.append(";");
-      _builder_45.newLineIfNotEmpty();
-      _builder_45.append("options.setSeriesColors(seriesColors);");
-      _builder_45.newLine();
-      body = _builder_45.toString();
+      _builder_47.append(_collect);
+      _builder_47.append(";");
+      _builder_47.newLineIfNotEmpty();
+      _builder_47.append("options.setSeriesColors(seriesColors);");
+      _builder_47.newLine();
+      body = _builder_47.toString();
     }
     if (hasAxis) {
-      StringConcatenation _builder_46 = new StringConcatenation();
-      _builder_46.append(body);
-      _builder_46.append("Axes axes = new Axes();");
-      _builder_46.newLineIfNotEmpty();
-      body = _builder_46.toString();
+      StringConcatenation _builder_48 = new StringConcatenation();
+      _builder_48.append(body);
+      _builder_48.append("Axes axes = new Axes();");
+      _builder_48.newLineIfNotEmpty();
+      body = _builder_48.toString();
       ChartOption _charttype_38 = chart.getCharttype();
       if ((_charttype_38 instanceof ChartBubble)) {
-        StringConcatenation _builder_47 = new StringConcatenation();
-        _builder_47.append(body);
-        _builder_47.newLineIfNotEmpty();
-        CharSequence _canvasAxisRenderer = this.canvasAxisRenderer(data_axis, "x", "Tick", fontFamily);
-        _builder_47.append(_canvasAxisRenderer);
-        _builder_47.newLineIfNotEmpty();
-        CharSequence _canvasAxisRenderer_1 = this.canvasAxisRenderer(data_axis, "x", "Label", fontFamily);
-        _builder_47.append(_canvasAxisRenderer_1);
-        _builder_47.newLineIfNotEmpty();
-        _builder_47.append("if (");
-        String _literal_35 = data_axis.getAxis().getName().getLiteral();
-        _builder_47.append(_literal_35);
-        _builder_47.append("TitlesArray.size() > 0) {");
-        _builder_47.newLineIfNotEmpty();
-        _builder_47.append("\t");
-        _builder_47.append("axes.addAxis(new XYaxis(XYaxes.");
-        char _charAt = axisPrefix.charAt(0);
-        _builder_47.append(_charAt, "\t");
-        _builder_47.append(").setLabel(");
-        String _literal_36 = data_axis.getAxis().getName().getLiteral();
-        _builder_47.append(_literal_36, "\t");
-        _builder_47.append("TitlesArray.get(0)).setTickOptions(xTickRenderer).setLabelOptions(xLabelRenderer));");
-        _builder_47.newLineIfNotEmpty();
-        _builder_47.append("\t");
-        _builder_47.append("axes.addAxis(new XYaxis(XYaxes.");
-        char _charAt_1 = axisPrefix.charAt(1);
-        _builder_47.append(_charAt_1, "\t");
-        _builder_47.append(").setLabel(");
-        String _literal_37 = data_axis.getAxis().getName().getLiteral();
-        _builder_47.append(_literal_37, "\t");
-        _builder_47.append("TitlesArray.get(1)).setTickOptions(xTickRenderer).setLabelOptions(xLabelRenderer));");
-        _builder_47.newLineIfNotEmpty();
-        _builder_47.append("\t");
-        _builder_47.append("axes.addAxis(new XYaxis(XYaxes.");
-        char _charAt_2 = axisPrefix.charAt(1);
-        _builder_47.append(_charAt_2, "\t");
-        _builder_47.append("2).setLabel(");
-        String _literal_38 = data_axis.getAxis().getName().getLiteral();
-        _builder_47.append(_literal_38, "\t");
-        _builder_47.append("TitlesArray.get(2)).setTickOptions(xTickRenderer).setLabelOptions(xLabelRenderer));");
-        _builder_47.newLineIfNotEmpty();
-        _builder_47.append("}");
-        _builder_47.newLine();
-        body = _builder_47.toString();
-      } else {
-        StringConcatenation _builder_48 = new StringConcatenation();
-        _builder_48.append(body);
-        _builder_48.newLineIfNotEmpty();
-        CharSequence _canvasAxisRenderer_2 = this.canvasAxisRenderer(category_axis, "x", "Tick", fontFamily);
-        _builder_48.append(_canvasAxisRenderer_2);
-        _builder_48.newLineIfNotEmpty();
-        CharSequence _canvasAxisRenderer_3 = this.canvasAxisRenderer(category_axis, "x", "Label", fontFamily);
-        _builder_48.append(_canvasAxisRenderer_3);
-        _builder_48.newLineIfNotEmpty();
-        _builder_48.append("axes.addAxis(new XYaxis(XYaxes.");
-        char _charAt_3 = axisPrefix.charAt(0);
-        _builder_48.append(_charAt_3);
-        _builder_48.append(")");
-        _builder_48.newLineIfNotEmpty();
-        _builder_48.append("\t");
-        _builder_48.append(".setRenderer(AxisRenderers.");
-        String _string_4 = category_axis.getRenderType().name().toString();
-        _builder_48.append(_string_4, "\t");
-        _builder_48.append(")");
-        _builder_48.newLineIfNotEmpty();
-        _builder_48.append("\t");
-        _builder_48.append(".setLabel(");
-        String _literal_39 = category_axis.getAxis().getName().getLiteral();
-        _builder_48.append(_literal_39, "\t");
-        _builder_48.append("AxisLabel)");
-        _builder_48.newLineIfNotEmpty();
-        _builder_48.append("\t");
-        _builder_48.append(".setTicks(");
-        String _literal_40 = category_axis.getAxis().getName().getLiteral();
-        _builder_48.append(_literal_40, "\t");
-        _builder_48.append("Ticks)");
-        _builder_48.newLineIfNotEmpty();
-        _builder_48.append("\t");
-        _builder_48.append(".setTickOptions(xTickRenderer)");
-        _builder_48.newLine();
-        _builder_48.append("\t");
-        _builder_48.append(".setLabelOptions(xLabelRenderer));");
-        _builder_48.newLine();
-        body = _builder_48.toString();
         StringConcatenation _builder_49 = new StringConcatenation();
         _builder_49.append(body);
         _builder_49.newLineIfNotEmpty();
-        CharSequence _canvasAxisRenderer_4 = this.canvasAxisRenderer(data_axis, "y", "Tick", fontFamily);
-        _builder_49.append(_canvasAxisRenderer_4);
+        CharSequence _canvasAxisRenderer = this.canvasAxisRenderer(data_axis, "x", "Tick", fontFamily);
+        _builder_49.append(_canvasAxisRenderer);
         _builder_49.newLineIfNotEmpty();
+        CharSequence _canvasAxisRenderer_1 = this.canvasAxisRenderer(data_axis, "x", "Label", fontFamily);
+        _builder_49.append(_canvasAxisRenderer_1);
+        _builder_49.newLineIfNotEmpty();
+        _builder_49.append("if (");
+        String _literal_39 = data_axis.getAxis().getName().getLiteral();
+        _builder_49.append(_literal_39);
+        _builder_49.append("TitlesArray.size() > 0) {");
+        _builder_49.newLineIfNotEmpty();
+        _builder_49.append("\t");
         _builder_49.append("axes.addAxis(new XYaxis(XYaxes.");
-        char _charAt_4 = axisPrefix.charAt(1);
-        _builder_49.append(_charAt_4);
-        _builder_49.append(")");
+        char _charAt = axisPrefix.charAt(0);
+        _builder_49.append(_charAt, "\t");
+        _builder_49.append(").setLabel(");
+        String _literal_40 = data_axis.getAxis().getName().getLiteral();
+        _builder_49.append(_literal_40, "\t");
+        _builder_49.append("TitlesArray.get(0)).setTickOptions(xTickRenderer).setLabelOptions(xLabelRenderer));");
         _builder_49.newLineIfNotEmpty();
         _builder_49.append("\t");
-        _builder_49.append(".setPad(1.05f)");
-        _builder_49.newLine();
+        _builder_49.append("axes.addAxis(new XYaxis(XYaxes.");
+        char _charAt_1 = axisPrefix.charAt(1);
+        _builder_49.append(_charAt_1, "\t");
+        _builder_49.append(").setLabel(");
+        String _literal_41 = data_axis.getAxis().getName().getLiteral();
+        _builder_49.append(_literal_41, "\t");
+        _builder_49.append("TitlesArray.get(1)).setTickOptions(xTickRenderer).setLabelOptions(xLabelRenderer));");
+        _builder_49.newLineIfNotEmpty();
         _builder_49.append("\t");
-        _builder_49.append(".setTickOptions(yTickRenderer));");
+        _builder_49.append("axes.addAxis(new XYaxis(XYaxes.");
+        char _charAt_2 = axisPrefix.charAt(1);
+        _builder_49.append(_charAt_2, "\t");
+        _builder_49.append("2).setLabel(");
+        String _literal_42 = data_axis.getAxis().getName().getLiteral();
+        _builder_49.append(_literal_42, "\t");
+        _builder_49.append("TitlesArray.get(2)).setTickOptions(xTickRenderer).setLabelOptions(xLabelRenderer));");
+        _builder_49.newLineIfNotEmpty();
+        _builder_49.append("}");
         _builder_49.newLine();
         body = _builder_49.toString();
+      } else {
+        StringConcatenation _builder_50 = new StringConcatenation();
+        _builder_50.append(body);
+        _builder_50.newLineIfNotEmpty();
+        CharSequence _canvasAxisRenderer_2 = this.canvasAxisRenderer(category_axis, "x", "Tick", fontFamily);
+        _builder_50.append(_canvasAxisRenderer_2);
+        _builder_50.newLineIfNotEmpty();
+        CharSequence _canvasAxisRenderer_3 = this.canvasAxisRenderer(category_axis, "x", "Label", fontFamily);
+        _builder_50.append(_canvasAxisRenderer_3);
+        _builder_50.newLineIfNotEmpty();
+        _builder_50.append("axes.addAxis(new XYaxis(XYaxes.");
+        char _charAt_3 = axisPrefix.charAt(0);
+        _builder_50.append(_charAt_3);
+        _builder_50.append(")");
+        _builder_50.newLineIfNotEmpty();
+        _builder_50.append("\t");
+        _builder_50.append(".setRenderer(AxisRenderers.");
+        String _string_4 = category_axis.getRenderType().name().toString();
+        _builder_50.append(_string_4, "\t");
+        _builder_50.append(")");
+        _builder_50.newLineIfNotEmpty();
+        _builder_50.append("\t");
+        _builder_50.append(".setLabel(");
+        String _literal_43 = category_axis.getAxis().getName().getLiteral();
+        _builder_50.append(_literal_43, "\t");
+        _builder_50.append("AxisLabel)");
+        _builder_50.newLineIfNotEmpty();
+        _builder_50.append("\t");
+        _builder_50.append(".setTicks(");
+        String _literal_44 = category_axis.getAxis().getName().getLiteral();
+        _builder_50.append(_literal_44, "\t");
+        _builder_50.append("Ticks)");
+        _builder_50.newLineIfNotEmpty();
+        _builder_50.append("\t");
+        _builder_50.append(".setTickOptions(xTickRenderer)");
+        _builder_50.newLine();
+        _builder_50.append("\t");
+        _builder_50.append(".setLabelOptions(xLabelRenderer));");
+        _builder_50.newLine();
+        body = _builder_50.toString();
+        StringConcatenation _builder_51 = new StringConcatenation();
+        _builder_51.append(body);
+        _builder_51.newLineIfNotEmpty();
+        CharSequence _canvasAxisRenderer_4 = this.canvasAxisRenderer(data_axis, "y", "Tick", fontFamily);
+        _builder_51.append(_canvasAxisRenderer_4);
+        _builder_51.newLineIfNotEmpty();
+        _builder_51.append("axes.addAxis(new XYaxis(XYaxes.");
+        char _charAt_4 = axisPrefix.charAt(1);
+        _builder_51.append(_charAt_4);
+        _builder_51.append(")");
+        _builder_51.newLineIfNotEmpty();
+        _builder_51.append("\t");
+        _builder_51.append(".setPad(1.05f)");
+        _builder_51.newLine();
+        _builder_51.append("\t");
+        _builder_51.append(".setTickOptions(yTickRenderer));");
+        _builder_51.newLine();
+        body = _builder_51.toString();
         Set<String> _keySet = multipleAxes.keySet();
         for (final String axisKey : _keySet) {
           boolean _equals_2 = axisKey.equals("1");
           boolean _not = (!_equals_2);
           if (_not) {
-            StringConcatenation _builder_50 = new StringConcatenation();
-            _builder_50.append(body);
+            StringConcatenation _builder_52 = new StringConcatenation();
+            _builder_52.append(body);
             String _get = multipleAxes.get(axisKey);
-            _builder_50.append(_get);
-            body = _builder_50.toString();
+            _builder_52.append(_get);
+            body = _builder_52.toString();
           }
         }
         int _size = multipleAxes.keySet().size();
         boolean _greaterThan_2 = (_size > 0);
         if (_greaterThan_2) {
-          StringConcatenation _builder_51 = new StringConcatenation();
-          _builder_51.append(body);
-          _builder_51.append("LinearAxisRenderer linearAxisRenderer = new LinearAxisRenderer();");
-          _builder_51.newLineIfNotEmpty();
-          _builder_51.append("linearAxisRenderer.setAlignTicks(true);");
-          _builder_51.newLine();
-          _builder_51.append("AxesDefaults axesDefaults = new AxesDefaults()");
-          _builder_51.newLine();
-          _builder_51.append("\t");
-          _builder_51.append(".setUseSeriesColor(true)");
-          _builder_51.newLine();
-          _builder_51.append("\t");
-          _builder_51.append(".setBorderWidth(3)\t");
-          _builder_51.newLine();
-          _builder_51.append("\t");
-          _builder_51.append(".setRendererOptions(linearAxisRenderer);");
-          _builder_51.newLine();
-          _builder_51.append("options.setAxesDefaults(axesDefaults);");
-          _builder_51.newLine();
-          body = _builder_51.toString();
+          StringConcatenation _builder_53 = new StringConcatenation();
+          _builder_53.append(body);
+          _builder_53.append("LinearAxisRenderer linearAxisRenderer = new LinearAxisRenderer();");
+          _builder_53.newLineIfNotEmpty();
+          _builder_53.append("linearAxisRenderer.setAlignTicks(true);");
+          _builder_53.newLine();
+          _builder_53.append("AxesDefaults axesDefaults = new AxesDefaults()");
+          _builder_53.newLine();
+          _builder_53.append("\t");
+          _builder_53.append(".setUseSeriesColor(true)");
+          _builder_53.newLine();
+          _builder_53.append("\t");
+          _builder_53.append(".setBorderWidth(3)\t");
+          _builder_53.newLine();
+          _builder_53.append("\t");
+          _builder_53.append(".setRendererOptions(linearAxisRenderer);");
+          _builder_53.newLine();
+          _builder_53.append("options.setAxesDefaults(axesDefaults);");
+          _builder_53.newLine();
+          body = _builder_53.toString();
         }
       }
-      StringConcatenation _builder_52 = new StringConcatenation();
-      _builder_52.append(body);
-      _builder_52.append("options.setAxes(axes);");
-      _builder_52.newLineIfNotEmpty();
-      body = _builder_52.toString();
+      StringConcatenation _builder_54 = new StringConcatenation();
+      _builder_54.append(body);
+      _builder_54.append("options.setAxes(axes);");
+      _builder_54.newLineIfNotEmpty();
+      body = _builder_54.toString();
     }
     boolean hadLegend = false;
     EList<ChartElement> _elements_1 = chart.getSource().getElements();
@@ -2173,112 +2185,112 @@
           hadLegend = true;
         } else {
           hadLegend = true;
-          StringConcatenation _builder_53 = new StringConcatenation();
-          _builder_53.append(body);
-          _builder_53.newLineIfNotEmpty();
-          _builder_53.append("Legend legend = new Legend().setShow(");
+          StringConcatenation _builder_55 = new StringConcatenation();
+          _builder_55.append(body);
+          _builder_55.newLineIfNotEmpty();
+          _builder_55.append("Legend legend = new Legend().setShow(");
           String _string_5 = Boolean.valueOf(Boolean.valueOf((legend != null)).booleanValue()).toString();
-          _builder_53.append(_string_5);
-          _builder_53.append(");");
-          _builder_53.newLineIfNotEmpty();
-          _builder_53.append("legend.setPlacement(LegendPlacements.");
+          _builder_55.append(_string_5);
+          _builder_55.append(");");
+          _builder_55.newLineIfNotEmpty();
+          _builder_55.append("legend.setPlacement(LegendPlacements.");
           String _name = legend.getPlacement().name();
-          _builder_53.append(_name);
-          _builder_53.append(");");
-          _builder_53.newLineIfNotEmpty();
-          body = _builder_53.toString();
+          _builder_55.append(_name);
+          _builder_55.append(");");
+          _builder_55.newLineIfNotEmpty();
+          body = _builder_55.toString();
           boolean _isToggle = legend.isToggle();
           if (_isToggle) {
-            StringConcatenation _builder_54 = new StringConcatenation();
-            _builder_54.append(body);
-            _builder_54.newLineIfNotEmpty();
-            _builder_54.append("EnhancedLegendRenderer renderer = new EnhancedLegendRenderer();");
-            _builder_54.newLine();
-            _builder_54.append("renderer.setSeriesToggle(SeriesToggles.");
+            StringConcatenation _builder_56 = new StringConcatenation();
+            _builder_56.append(body);
+            _builder_56.newLineIfNotEmpty();
+            _builder_56.append("EnhancedLegendRenderer renderer = new EnhancedLegendRenderer();");
+            _builder_56.newLine();
+            _builder_56.append("renderer.setSeriesToggle(SeriesToggles.");
             String _name_1 = legend.getToggleType().getName();
-            _builder_54.append(_name_1);
-            _builder_54.append(");");
-            _builder_54.newLineIfNotEmpty();
-            _builder_54.append("renderer.setSeriesToggleReplot(");
+            _builder_56.append(_name_1);
+            _builder_56.append(");");
+            _builder_56.newLineIfNotEmpty();
+            _builder_56.append("renderer.setSeriesToggleReplot(");
             String _string_6 = Boolean.valueOf(Boolean.valueOf(legend.isReplot()).booleanValue()).toString();
-            _builder_54.append(_string_6);
-            _builder_54.append(");");
-            _builder_54.newLineIfNotEmpty();
-            _builder_54.append("legend.setRendererOptions(renderer);");
-            _builder_54.newLine();
+            _builder_56.append(_string_6);
+            _builder_56.append(");");
+            _builder_56.newLineIfNotEmpty();
+            _builder_56.append("legend.setRendererOptions(renderer);");
+            _builder_56.newLine();
             {
               String _textColor = legend.getTextColor();
               boolean _tripleNotEquals = (_textColor != null);
               if (_tripleNotEquals) {
-                _builder_54.append("legend.setTextColor(\"");
+                _builder_56.append("legend.setTextColor(\"");
                 String _hex_1 = this.toHex(legend.getTextColor());
-                _builder_54.append(_hex_1);
-                _builder_54.append("\");");
+                _builder_56.append(_hex_1);
+                _builder_56.append("\");");
               }
             }
-            _builder_54.newLineIfNotEmpty();
+            _builder_56.newLineIfNotEmpty();
             {
               int _fontSize = legend.getFontSize();
               boolean _tripleNotEquals_1 = (_fontSize != 0);
               if (_tripleNotEquals_1) {
-                _builder_54.append("legend.setFontSize(\"");
+                _builder_56.append("legend.setFontSize(\"");
                 int _fontSize_1 = legend.getFontSize();
-                _builder_54.append(_fontSize_1);
-                _builder_54.append("pt\");");
+                _builder_56.append(_fontSize_1);
+                _builder_56.append("pt\");");
               }
             }
-            _builder_54.newLineIfNotEmpty();
+            _builder_56.newLineIfNotEmpty();
             {
               boolean _equals_3 = fontFamily.equals(CanvasFontFamilyEnum.DEFAULT);
               boolean _not_1 = (!_equals_3);
               if (_not_1) {
-                _builder_54.append("legend.setFontFamily(\"");
-                String _literal_41 = fontFamily.getLiteral();
-                _builder_54.append(_literal_41);
-                _builder_54.append("\");");
+                _builder_56.append("legend.setFontFamily(\"");
+                String _literal_45 = fontFamily.getLiteral();
+                _builder_56.append(_literal_45);
+                _builder_56.append("\");");
               }
             }
-            _builder_54.newLineIfNotEmpty();
-            body = _builder_54.toString();
+            _builder_56.newLineIfNotEmpty();
+            body = _builder_56.toString();
           }
-          StringConcatenation _builder_55 = new StringConcatenation();
-          _builder_55.append(body);
-          _builder_55.append("options.setLegend(legend);");
-          _builder_55.newLineIfNotEmpty();
-          body = _builder_55.toString();
+          StringConcatenation _builder_57 = new StringConcatenation();
+          _builder_57.append(body);
+          _builder_57.append("options.setLegend(legend);");
+          _builder_57.newLineIfNotEmpty();
+          body = _builder_57.toString();
         }
       }
     }
     if ((!hadLegend)) {
-      StringConcatenation _builder_56 = new StringConcatenation();
-      _builder_56.append(body);
-      _builder_56.newLineIfNotEmpty();
-      _builder_56.append("Legend legend = new Legend().setShow(true);");
-      _builder_56.newLine();
-      _builder_56.append("legend.setPlacement(LegendPlacements.OUTSIDE_GRID);");
-      _builder_56.newLine();
-      _builder_56.append("EnhancedLegendRenderer renderer = new EnhancedLegendRenderer();");
-      _builder_56.newLine();
-      _builder_56.append("renderer.setSeriesToggle(SeriesToggles.FAST);");
-      _builder_56.newLine();
-      _builder_56.append("renderer.setSeriesToggleReplot(true);");
-      _builder_56.newLine();
-      _builder_56.append("legend.setRendererOptions(renderer);");
-      _builder_56.newLine();
+      StringConcatenation _builder_58 = new StringConcatenation();
+      _builder_58.append(body);
+      _builder_58.newLineIfNotEmpty();
+      _builder_58.append("Legend legend = new Legend().setShow(true);");
+      _builder_58.newLine();
+      _builder_58.append("legend.setPlacement(LegendPlacements.OUTSIDE_GRID);");
+      _builder_58.newLine();
+      _builder_58.append("EnhancedLegendRenderer renderer = new EnhancedLegendRenderer();");
+      _builder_58.newLine();
+      _builder_58.append("renderer.setSeriesToggle(SeriesToggles.FAST);");
+      _builder_58.newLine();
+      _builder_58.append("renderer.setSeriesToggleReplot(true);");
+      _builder_58.newLine();
+      _builder_58.append("legend.setRendererOptions(renderer);");
+      _builder_58.newLine();
       {
         boolean _equals_4 = fontFamily.equals(CanvasFontFamilyEnum.DEFAULT);
         boolean _not_2 = (!_equals_4);
         if (_not_2) {
-          _builder_56.append("legend.setFontFamily(\"");
-          String _literal_42 = fontFamily.getLiteral();
-          _builder_56.append(_literal_42);
-          _builder_56.append("\");");
+          _builder_58.append("legend.setFontFamily(\"");
+          String _literal_46 = fontFamily.getLiteral();
+          _builder_58.append(_literal_46);
+          _builder_58.append("\");");
         }
       }
-      _builder_56.newLineIfNotEmpty();
-      _builder_56.append("options.setLegend(legend);");
-      _builder_56.newLine();
-      body = _builder_56.toString();
+      _builder_58.newLineIfNotEmpty();
+      _builder_58.append("options.setLegend(legend);");
+      _builder_58.newLine();
+      body = _builder_58.toString();
     }
     boolean hadHighlighter = false;
     EList<ChartElement> _elements_2 = chart.getSource().getElements();
@@ -2286,197 +2298,197 @@
       if ((element_2 instanceof ChartHighlighter)) {
         hadHighlighter = true;
         ChartHighlighter highlighter = ((ChartHighlighter) element_2);
-        StringConcatenation _builder_57 = new StringConcatenation();
-        _builder_57.append(body);
-        _builder_57.newLineIfNotEmpty();
-        _builder_57.append("Highlighter highlighter = new Highlighter().setShow(");
+        StringConcatenation _builder_59 = new StringConcatenation();
+        _builder_59.append(body);
+        _builder_59.newLineIfNotEmpty();
+        _builder_59.append("Highlighter highlighter = new Highlighter().setShow(");
         String _string_7 = Boolean.valueOf(Boolean.valueOf((highlighter != null)).booleanValue()).toString();
-        _builder_57.append(_string_7);
-        _builder_57.append(");");
-        _builder_57.newLineIfNotEmpty();
-        _builder_57.append("highlighter.setShowTooltip(true)");
-        _builder_57.newLine();
-        _builder_57.append("\t");
-        _builder_57.append(".setTooltipAlwaysVisible(");
+        _builder_59.append(_string_7);
+        _builder_59.append(");");
+        _builder_59.newLineIfNotEmpty();
+        _builder_59.append("highlighter.setShowTooltip(true)");
+        _builder_59.newLine();
+        _builder_59.append("\t");
+        _builder_59.append(".setTooltipAlwaysVisible(");
         String _string_8 = Boolean.valueOf(Boolean.valueOf(highlighter.isTooltipAlways()).booleanValue()).toString();
-        _builder_57.append(_string_8, "\t");
-        _builder_57.append(")");
-        _builder_57.newLineIfNotEmpty();
-        _builder_57.append("\t");
-        _builder_57.append(".setKeepTooltipInsideChart(");
+        _builder_59.append(_string_8, "\t");
+        _builder_59.append(")");
+        _builder_59.newLineIfNotEmpty();
+        _builder_59.append("\t");
+        _builder_59.append(".setKeepTooltipInsideChart(");
         String _string_9 = Boolean.valueOf(Boolean.valueOf(highlighter.isInsideChart()).booleanValue()).toString();
-        _builder_57.append(_string_9, "\t");
-        _builder_57.append(")");
-        _builder_57.newLineIfNotEmpty();
-        _builder_57.append("\t");
-        _builder_57.append(".setTooltipLocation(TooltipLocations.");
+        _builder_59.append(_string_9, "\t");
+        _builder_59.append(")");
+        _builder_59.newLineIfNotEmpty();
+        _builder_59.append("\t");
+        _builder_59.append(".setTooltipLocation(TooltipLocations.");
         String _name_2 = highlighter.getLocation().name();
-        _builder_57.append(_name_2, "\t");
-        _builder_57.append(")");
-        _builder_57.newLineIfNotEmpty();
-        _builder_57.append("\t");
-        _builder_57.append(".setBringSeriesToFront(true)");
-        _builder_57.newLine();
-        _builder_57.append("\t");
-        _builder_57.append(".setFadeTooltip(true)");
-        _builder_57.newLine();
-        _builder_57.append("\t");
-        _builder_57.append(".setShowMarker(true);");
-        _builder_57.newLine();
-        _builder_57.append("highlighter.setTooltipAxes(TooltipAxes.");
-        _builder_57.append(axisPrefix);
-        _builder_57.append(postfix);
-        _builder_57.append(");");
-        _builder_57.newLineIfNotEmpty();
-        _builder_57.append("options.setHighlighter(highlighter);");
-        _builder_57.newLine();
-        body = _builder_57.toString();
+        _builder_59.append(_name_2, "\t");
+        _builder_59.append(")");
+        _builder_59.newLineIfNotEmpty();
+        _builder_59.append("\t");
+        _builder_59.append(".setBringSeriesToFront(true)");
+        _builder_59.newLine();
+        _builder_59.append("\t");
+        _builder_59.append(".setFadeTooltip(true)");
+        _builder_59.newLine();
+        _builder_59.append("\t");
+        _builder_59.append(".setShowMarker(true);");
+        _builder_59.newLine();
+        _builder_59.append("highlighter.setTooltipAxes(TooltipAxes.");
+        _builder_59.append(axisPrefix);
+        _builder_59.append(postfix);
+        _builder_59.append(");");
+        _builder_59.newLineIfNotEmpty();
+        _builder_59.append("options.setHighlighter(highlighter);");
+        _builder_59.newLine();
+        body = _builder_59.toString();
       }
     }
     if ((!hadHighlighter)) {
-      StringConcatenation _builder_58 = new StringConcatenation();
-      _builder_58.append(body);
-      _builder_58.newLineIfNotEmpty();
-      _builder_58.append("Highlighter highlighter = new Highlighter().setShow(true);");
-      _builder_58.newLine();
-      _builder_58.append("highlighter.setShowTooltip(true)");
-      _builder_58.newLine();
-      _builder_58.append("\t");
-      _builder_58.append(".setTooltipAlwaysVisible(true)");
-      _builder_58.newLine();
-      _builder_58.append("\t");
-      _builder_58.append(".setKeepTooltipInsideChart(true)");
-      _builder_58.newLine();
-      _builder_58.append("\t");
-      _builder_58.append(".setTooltipLocation(TooltipLocations.NORTH_EAST)");
-      _builder_58.newLine();
-      _builder_58.append("\t");
-      _builder_58.append(".setBringSeriesToFront(true)");
-      _builder_58.newLine();
-      _builder_58.append("\t");
-      _builder_58.append(".setFadeTooltip(true)");
-      _builder_58.newLine();
-      _builder_58.append("\t");
-      _builder_58.append(".setShowMarker(true);");
-      _builder_58.newLine();
-      _builder_58.append("highlighter.setTooltipAxes(TooltipAxes.");
-      _builder_58.append(axisPrefix);
-      _builder_58.append(postfix);
-      _builder_58.append(");");
-      _builder_58.newLineIfNotEmpty();
-      _builder_58.append("options.setHighlighter(highlighter);");
-      _builder_58.newLine();
-      body = _builder_58.toString();
+      StringConcatenation _builder_60 = new StringConcatenation();
+      _builder_60.append(body);
+      _builder_60.newLineIfNotEmpty();
+      _builder_60.append("Highlighter highlighter = new Highlighter().setShow(true);");
+      _builder_60.newLine();
+      _builder_60.append("highlighter.setShowTooltip(true)");
+      _builder_60.newLine();
+      _builder_60.append("\t");
+      _builder_60.append(".setTooltipAlwaysVisible(true)");
+      _builder_60.newLine();
+      _builder_60.append("\t");
+      _builder_60.append(".setKeepTooltipInsideChart(true)");
+      _builder_60.newLine();
+      _builder_60.append("\t");
+      _builder_60.append(".setTooltipLocation(TooltipLocations.NORTH_EAST)");
+      _builder_60.newLine();
+      _builder_60.append("\t");
+      _builder_60.append(".setBringSeriesToFront(true)");
+      _builder_60.newLine();
+      _builder_60.append("\t");
+      _builder_60.append(".setFadeTooltip(true)");
+      _builder_60.newLine();
+      _builder_60.append("\t");
+      _builder_60.append(".setShowMarker(true);");
+      _builder_60.newLine();
+      _builder_60.append("highlighter.setTooltipAxes(TooltipAxes.");
+      _builder_60.append(axisPrefix);
+      _builder_60.append(postfix);
+      _builder_60.append(");");
+      _builder_60.newLineIfNotEmpty();
+      _builder_60.append("options.setHighlighter(highlighter);");
+      _builder_60.newLine();
+      body = _builder_60.toString();
     }
     ChartOption _charttype_39 = chart.getCharttype();
     if ((_charttype_39 instanceof ChartLine)) {
       ChartOption _charttype_40 = chart.getCharttype();
       boolean _isCursor = ((ChartLine) _charttype_40).isCursor();
       if (_isCursor) {
-        StringConcatenation _builder_59 = new StringConcatenation();
-        _builder_59.append(body);
-        _builder_59.append("Cursor cursor = new Cursor()");
-        _builder_59.newLineIfNotEmpty();
-        _builder_59.append("\t");
-        _builder_59.append(".setShow(true)");
-        _builder_59.newLine();
-        _builder_59.append("\t");
-        _builder_59.append(".setZoom(");
+        StringConcatenation _builder_61 = new StringConcatenation();
+        _builder_61.append(body);
+        _builder_61.append("Cursor cursor = new Cursor()");
+        _builder_61.newLineIfNotEmpty();
+        _builder_61.append("\t");
+        _builder_61.append(".setShow(true)");
+        _builder_61.newLine();
+        _builder_61.append("\t");
+        _builder_61.append(".setZoom(");
         ChartOption _charttype_41 = chart.getCharttype();
         String _string_10 = Boolean.valueOf(((ChartLine) _charttype_41).isZoom()).toString();
-        _builder_59.append(_string_10, "\t");
-        _builder_59.append(")");
-        _builder_59.newLineIfNotEmpty();
-        _builder_59.append("\t");
-        _builder_59.append(".setShowTooltip(");
+        _builder_61.append(_string_10, "\t");
+        _builder_61.append(")");
+        _builder_61.newLineIfNotEmpty();
+        _builder_61.append("\t");
+        _builder_61.append(".setShowTooltip(");
         ChartOption _charttype_42 = chart.getCharttype();
         String _string_11 = Boolean.valueOf(((ChartLine) _charttype_42).isTooltip()).toString();
-        _builder_59.append(_string_11, "\t");
-        _builder_59.append(");");
-        _builder_59.newLineIfNotEmpty();
-        _builder_59.append("options.setCursor(cursor);");
-        _builder_59.newLine();
-        body = _builder_59.toString();
+        _builder_61.append(_string_11, "\t");
+        _builder_61.append(");");
+        _builder_61.newLineIfNotEmpty();
+        _builder_61.append("options.setCursor(cursor);");
+        _builder_61.newLine();
+        body = _builder_61.toString();
       }
       ChartOption _charttype_43 = chart.getCharttype();
       boolean _isAnimated_1 = ((ChartLine) _charttype_43).isAnimated();
       if (_isAnimated_1) {
-        StringConcatenation _builder_60 = new StringConcatenation();
-        _builder_60.append(body);
-        _builder_60.append("options.setAnimate(true);");
-        _builder_60.newLineIfNotEmpty();
-        body = _builder_60.toString();
+        StringConcatenation _builder_62 = new StringConcatenation();
+        _builder_62.append(body);
+        _builder_62.append("options.setAnimate(true);");
+        _builder_62.newLineIfNotEmpty();
+        body = _builder_62.toString();
       }
     }
     if (hasAxis) {
-      StringConcatenation _builder_61 = new StringConcatenation();
-      _builder_61.append(body);
-      _builder_61.append("options.setSeries(");
-      String _literal_43 = data_axis.getAxis().getName().getLiteral();
-      _builder_61.append(_literal_43);
-      _builder_61.append("Series);");
-      _builder_61.newLineIfNotEmpty();
-      body = _builder_61.toString();
+      StringConcatenation _builder_63 = new StringConcatenation();
+      _builder_63.append(body);
+      _builder_63.append("options.setSeries(");
+      String _literal_47 = data_axis.getAxis().getName().getLiteral();
+      _builder_63.append(_literal_47);
+      _builder_63.append("Series);");
+      _builder_63.newLineIfNotEmpty();
+      body = _builder_63.toString();
     }
-    StringConcatenation _builder_62 = new StringConcatenation();
-    _builder_62.append(body);
-    _builder_62.append("DCharts chart = new DCharts();");
-    _builder_62.newLineIfNotEmpty();
-    _builder_62.append("chart.setDataSeries(dataSeries);");
-    _builder_62.newLine();
-    _builder_62.append("chart.setOptions(options);");
-    _builder_62.newLine();
-    _builder_62.append("chart.setEnableChartImageChangeEvent(true);");
-    _builder_62.newLine();
-    body = _builder_62.toString();
-    StringConcatenation _builder_63 = new StringConcatenation();
-    _builder_63.append(body);
-    _builder_63.append("chart.setId(\"chart\");");
-    _builder_63.newLineIfNotEmpty();
-    _builder_63.append("chart.setImmediate(true);");
-    _builder_63.newLine();
-    _builder_63.append("chart.show();");
-    _builder_63.newLine();
-    _builder_63.append("charts.add(chart);");
-    _builder_63.newLine();
-    body = _builder_63.toString();
-    if (((chart.getToolbar() != null) && (chart.getToolbar().eContainer() != null))) {
-      StringConcatenation _builder_64 = new StringConcatenation();
-      _builder_64.append(body);
-      _builder_64.newLineIfNotEmpty();
-      _builder_64.append("for (MToolBarElement element : toolbarClass.getToolBar().getChildren()) {");
-      _builder_64.newLine();
-      _builder_64.append("\t");
-      _builder_64.append("Object widget = element.getWidget();");
-      _builder_64.newLine();
-      _builder_64.append("\t");
-      _builder_64.append("if (widget instanceof Button) {");
-      _builder_64.newLine();
-      _builder_64.append("\t\t");
-      _builder_64.append("List<String> tags = element.getTags();");
-      _builder_64.newLine();
-      _builder_64.append("\t\t");
-      _builder_64.append("if (tags.contains(ChartActionEnum.CHART_ACTION_DOWNLOAD.getLiteral())) {");
-      _builder_64.newLine();
-      _builder_64.append("\t\t\t");
-      _builder_64.append("FileDownloader fileDownloader = new FileDownloader(getChartResource(chart, layoutManager));");
-      _builder_64.newLine();
-      _builder_64.append("\t\t\t");
-      _builder_64.append("fileDownloader.extend((Button) widget);");
-      _builder_64.newLine();
-      _builder_64.append("\t\t");
-      _builder_64.append("}");
-      _builder_64.newLine();
-      _builder_64.append("\t");
-      _builder_64.append("}");
-      _builder_64.newLine();
-      _builder_64.append("}");
-      body = _builder_64.toString();
-    }
+    StringConcatenation _builder_64 = new StringConcatenation();
+    _builder_64.append(body);
+    _builder_64.append("DCharts chart = new DCharts();");
+    _builder_64.newLineIfNotEmpty();
+    _builder_64.append("chart.setDataSeries(dataSeries);");
+    _builder_64.newLine();
+    _builder_64.append("chart.setOptions(options);");
+    _builder_64.newLine();
+    _builder_64.append("chart.setEnableChartImageChangeEvent(true);");
+    _builder_64.newLine();
+    body = _builder_64.toString();
     StringConcatenation _builder_65 = new StringConcatenation();
     _builder_65.append(body);
-    _builder_65.append("return chart;");
+    _builder_65.append("chart.setId(\"chart\");");
+    _builder_65.newLineIfNotEmpty();
+    _builder_65.append("chart.setImmediate(true);");
+    _builder_65.newLine();
+    _builder_65.append("chart.show();");
+    _builder_65.newLine();
+    _builder_65.append("charts.add(chart);");
+    _builder_65.newLine();
     body = _builder_65.toString();
+    if (((chart.getToolbar() != null) && (chart.getToolbar().eContainer() != null))) {
+      StringConcatenation _builder_66 = new StringConcatenation();
+      _builder_66.append(body);
+      _builder_66.newLineIfNotEmpty();
+      _builder_66.append("for (MToolBarElement element : toolbarClass.getToolBar().getChildren()) {");
+      _builder_66.newLine();
+      _builder_66.append("\t");
+      _builder_66.append("Object widget = element.getWidget();");
+      _builder_66.newLine();
+      _builder_66.append("\t");
+      _builder_66.append("if (widget instanceof Button) {");
+      _builder_66.newLine();
+      _builder_66.append("\t\t");
+      _builder_66.append("List<String> tags = element.getTags();");
+      _builder_66.newLine();
+      _builder_66.append("\t\t");
+      _builder_66.append("if (tags.contains(ChartActionEnum.CHART_ACTION_DOWNLOAD.getLiteral())) {");
+      _builder_66.newLine();
+      _builder_66.append("\t\t\t");
+      _builder_66.append("FileDownloader fileDownloader = new FileDownloader(getChartResource(chart, layoutManager));");
+      _builder_66.newLine();
+      _builder_66.append("\t\t\t");
+      _builder_66.append("fileDownloader.extend((Button) widget);");
+      _builder_66.newLine();
+      _builder_66.append("\t\t");
+      _builder_66.append("}");
+      _builder_66.newLine();
+      _builder_66.append("\t");
+      _builder_66.append("}");
+      _builder_66.newLine();
+      _builder_66.append("}");
+      body = _builder_66.toString();
+    }
+    StringConcatenation _builder_67 = new StringConcatenation();
+    _builder_67.append(body);
+    _builder_67.append("return chart;");
+    body = _builder_67.toString();
     return body;
   }