clone.itemLabelGeneratorMap = CloneUtils.cloneMapValues(
this.itemLabelGeneratorMap);
}
if (this.defaultItemLabelGenerator != null) {
if (this.defaultItemLabelGenerator instanceof PublicCloneable) {
PublicCloneable pc
= (PublicCloneable) this.defaultItemLabelGenerator;
clone.defaultItemLabelGenerator
= (CategoryItemLabelGenerator) pc.clone();
}
else {
throw new CloneNotSupportedException(
"ItemLabelGenerator not cloneable.");
}
}
if (this.toolTipGeneratorMap != null) {
clone.toolTipGeneratorMap = CloneUtils.cloneMapValues(
this.toolTipGeneratorMap);
}
if (this.defaultToolTipGenerator != null) {
if (this.defaultToolTipGenerator instanceof PublicCloneable) {
PublicCloneable pc
= (PublicCloneable) this.defaultToolTipGenerator;
clone.defaultToolTipGenerator
= (CategoryToolTipGenerator) pc.clone();
}
else {
throw new CloneNotSupportedException(
"Base tool tip generator not cloneable.");
}
}
if (this.urlGeneratorMap != null) {
clone.urlGeneratorMap = CloneUtils.cloneMapValues(
this.urlGeneratorMap);
}
if (this.defaultURLGenerator != null) {
if (this.defaultURLGenerator instanceof PublicCloneable) {
PublicCloneable pc
= (PublicCloneable) this.defaultURLGenerator;
clone.defaultURLGenerator = (CategoryURLGenerator) pc.clone();
}
else {
throw new CloneNotSupportedException(
"Base item URL generator not cloneable.");
}