docs: @Override
      public String encode() throws IOException {
          FastStringWriter fsw = new FastStringWriter();
  
          try {
              fsw.write("{");
  
              ChartUtils.writeDataValue(fsw, "type", this.getType(), false);
              ChartUtils.writeDataValue(fsw, "data", this.data, true);
              ChartUtils.writeDataValue(fsw, "label", this.label, true);
              ChartUtils.writeDataValue(fsw, "hidden", this.isHidden(), true);
              ChartUtils.writeDataValue(fsw, "xAxisID", this.xaxisID, true);
              ChartUtils.writeDataValue(fsw, "yAxisID", this.yaxisID, true);
              ChartUtils.writeDataValue(fsw, "stack", this.stack, true);
              ChartUtils.writeDataValue(fsw, "backgroundColor", this.backgroundColor, true);
              ChartUtils.writeDataValue(fsw, "borderColor", this.borderColor, true);
              ChartUtils.writeDataValue(fsw, "borderWidth", this.borderWidth, true);
              ChartUtils.writeDataValue(fsw, "borderSkipped", this.borderSkipped, true);
              ChartUtils.writeDataValue(fsw, "hoverBackgroundColor", this.hoverBackgroundColor, true);
              ChartUtils.writeDataValue(fsw, "hoverBorderColor", this.hoverBorderColor, true);
              ChartUtils.writeDataValue(fsw, "hoverBorderWidth", this.hoverBorderWidth, true);
  
              fsw.write("}");
          }
          finally {
              fsw.close();
          }
  
          return fsw.toString();
      }