@SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
 @Override
 public GenericCharacterTemplate clone() {
   GenericCharacterTemplate clone;
   try {
     clone = (GenericCharacterTemplate) super.clone();
   } catch (CloneNotSupportedException e) {
     throw new UnreachableCodeReachedException(e);
   }
   if (bonusPointCosts != null) {
     clone.bonusPointCosts = bonusPointCosts.clone();
   }
   if (creationPoints != null) {
     clone.creationPoints = creationPoints.clone();
   }
   if (experienceCosts != null) {
     clone.experienceCosts = experienceCosts.clone();
   }
   return clone;
 }