_getClonedChildComponents() {
    const props = this.props;
    const {animation} = this.props;
    const {scaleMixins, data} = this.state;
    const dimensions = getInnerDimensions(this.props, DEFAULT_MARGINS);
    const children = React.Children.toArray(this.props.children);
    const seriesProps = getSeriesPropsFromChildren(children);
    const XYPlotValues = getXYPlotValues(props, children);
    return children.map((child, index) => {
      let dataProps = null;
      if (seriesProps[index]) {
        // Get the index of the series in the list of props and retrieve
        // the data property from it.
        const {seriesIndex} = seriesProps[index];
        dataProps = {data: data[seriesIndex]};
      }
      return React.cloneElement(child, {
        ...dimensions,
        animation,
        ...(dataProps && child.type.prototype && child.type.prototype.render
          ? {
              ref: ref =>
                (this[`series${seriesProps[index].seriesIndex}`] = ref)
            }
          : {}),
        ...seriesProps[index],
        ...scaleMixins,
        ...child.props,
        ...XYPlotValues[index],
        ...dataProps
      });
    });
  }
Prepare the child components (including series) for rendering.
@returns {Array} Array of child components.
@private