public Object clone() {
    JRBaseCategorySeries clone = null;

    try {
      clone = (JRBaseCategorySeries) super.clone();
    } catch (CloneNotSupportedException e) {
      throw new JRRuntimeException(e);
    }

    if (seriesExpression != null) {
      clone.seriesExpression = (JRExpression) seriesExpression.clone();
    }
    if (categoryExpression != null) {
      clone.categoryExpression = (JRExpression) categoryExpression.clone();
    }
    if (valueExpression != null) {
      clone.valueExpression = (JRExpression) valueExpression.clone();
    }
    if (labelExpression != null) {
      clone.labelExpression = (JRExpression) labelExpression.clone();
    }
    if (itemHyperlink != null) {
      clone.itemHyperlink = (JRHyperlink) itemHyperlink.clone();
    }

    return clone;
  }
  public Object clone() {
    JRBaseXyzSeries clone = null;

    try {
      clone = (JRBaseXyzSeries) super.clone();
    } catch (CloneNotSupportedException e) {
      throw new JRRuntimeException(e);
    }

    if (seriesExpression != null) {
      clone.seriesExpression = (JRExpression) seriesExpression.clone();
    }
    if (xValueExpression != null) {
      clone.xValueExpression = (JRExpression) xValueExpression.clone();
    }
    if (yValueExpression != null) {
      clone.yValueExpression = (JRExpression) yValueExpression.clone();
    }
    if (zValueExpression != null) {
      clone.zValueExpression = (JRExpression) zValueExpression.clone();
    }
    if (itemHyperlink != null) {
      clone.itemHyperlink = (JRHyperlink) itemHyperlink.clone();
    }

    return clone;
  }
  public Object clone() {
    JRBaseTextField clone = (JRBaseTextField) super.clone();

    if (hyperlinkParameters != null) {
      clone.hyperlinkParameters = new JRHyperlinkParameter[hyperlinkParameters.length];
      for (int i = 0; i < hyperlinkParameters.length; i++) {
        clone.hyperlinkParameters[i] = (JRHyperlinkParameter) hyperlinkParameters[i].clone();
      }
    }

    if (expression != null) {
      clone.expression = (JRExpression) expression.clone();
    }
    if (anchorNameExpression != null) {
      clone.anchorNameExpression = (JRExpression) anchorNameExpression.clone();
    }
    if (hyperlinkReferenceExpression != null) {
      clone.hyperlinkReferenceExpression = (JRExpression) hyperlinkReferenceExpression.clone();
    }
    if (hyperlinkAnchorExpression != null) {
      clone.hyperlinkAnchorExpression = (JRExpression) hyperlinkAnchorExpression.clone();
    }
    if (hyperlinkPageExpression != null) {
      clone.hyperlinkPageExpression = (JRExpression) hyperlinkPageExpression.clone();
    }
    if (hyperlinkTooltipExpression != null) {
      clone.hyperlinkTooltipExpression = (JRExpression) hyperlinkTooltipExpression.clone();
    }

    return clone;
  }
  public Object clone() {
    JRBaseChart clone = (JRBaseChart) super.clone();

    clone.lineBox = lineBox.clone(clone);

    if (hyperlinkParameters != null) {
      clone.hyperlinkParameters = new JRHyperlinkParameter[hyperlinkParameters.length];
      for (int i = 0; i < hyperlinkParameters.length; i++) {
        clone.hyperlinkParameters[i] = (JRHyperlinkParameter) hyperlinkParameters[i].clone();
      }
    }

    if (titleExpression != null) {
      clone.titleExpression = (JRExpression) titleExpression.clone();
    }
    if (subtitleExpression != null) {
      clone.subtitleExpression = (JRExpression) subtitleExpression.clone();
    }
    if (anchorNameExpression != null) {
      clone.anchorNameExpression = (JRExpression) anchorNameExpression.clone();
    }
    if (hyperlinkReferenceExpression != null) {
      clone.hyperlinkReferenceExpression = (JRExpression) hyperlinkReferenceExpression.clone();
    }
    if (hyperlinkAnchorExpression != null) {
      clone.hyperlinkAnchorExpression = (JRExpression) hyperlinkAnchorExpression.clone();
    }
    if (hyperlinkPageExpression != null) {
      clone.hyperlinkPageExpression = (JRExpression) hyperlinkPageExpression.clone();
    }
    if (hyperlinkTooltipExpression != null) {
      clone.hyperlinkTooltipExpression = (JRExpression) hyperlinkTooltipExpression.clone();
    }

    if (dataset != null) {
      clone.dataset = (JRChartDataset) dataset.clone();
    }
    if (plot != null) {
      clone.plot = (JRChartPlot) plot.clone(clone);
    }

    return clone;
  }