/**
  * Returns a clone of this object.
  *
  * @return A clone.
  * @throws CloneNotSupportedException if the object cannot be cloned.
  */
 @Override
 public Object clone() throws CloneNotSupportedException {
   ChartRenderingInfo clone = (ChartRenderingInfo) super.clone();
   if (this.chartArea != null) {
     clone.chartArea = (Rectangle2D) this.chartArea.clone();
   }
   if (this.entities instanceof PublicCloneable) {
     PublicCloneable pc = (PublicCloneable) this.entities;
     clone.entities = (EntityCollection) pc.clone();
   }
   return clone;
 }