public Object clone() {
   WardDeptCategoryCollection newCol = new WardDeptCategoryCollection();
   WardDeptCategory item;
   for (int i = 0; i < super.size(); i++) {
     item = this.get(i);
     newCol.add(
         new WardDeptCategory(
             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((WardDeptCategory) item.getParent().clone());
     }
   }
   return newCol;
 }
 public static WardDeptCategoryCollection buildFromBeanCollection(
     ims.vo.LookupInstanceBean[] beans) {
   WardDeptCategoryCollection coll = new WardDeptCategoryCollection();
   if (beans == null) return coll;
   for (int x = 0; x < beans.length; x++) {
     coll.add(WardDeptCategory.buildLookup(beans[x]));
   }
   return coll;
 }
 public static WardDeptCategoryCollection buildFromBeanCollection(java.util.Collection beans) {
   WardDeptCategoryCollection coll = new WardDeptCategoryCollection();
   if (beans == null) return coll;
   java.util.Iterator iter = beans.iterator();
   while (iter.hasNext()) {
     coll.add(WardDeptCategory.buildLookup((ims.vo.LookupInstanceBean) iter.next()));
   }
   return coll;
 }