public Object clone() {
   ChemoTherapyHRGCollection newCol = new ChemoTherapyHRGCollection();
   ChemoTherapyHRG item;
   for (int i = 0; i < super.size(); i++) {
     item = this.get(i);
     newCol.add(
         new ChemoTherapyHRG(
             item.getID(),
             item.getText(),
             item.isActive(),
             item.getParent(),
             item.getImage(),
             item.getColor(),
             item.getOrder()));
   }
   for (int i = 0; i < newCol.size(); i++) {
     item = newCol.get(i);
     if (item.getParent() != null) {
       int parentIndex = this.indexOf(item.getParent());
       if (parentIndex >= 0) item.setParent(newCol.get(parentIndex));
       else item.setParent((ChemoTherapyHRG) item.getParent().clone());
     }
   }
   return newCol;
 }