public Object clone() {
    if (this.isBusy) return this;
    this.isBusy = true;

    OPDFertCLinicSemenAna clone = new OPDFertCLinicSemenAna(this.id, this.version);

    if (this.semenfinding == null) clone.semenfinding = null;
    else
      clone.semenfinding =
          (ims.spinalinjuries.vo.lookups.FCSemenAnalysis) this.semenfinding.clone();
    clone.semanafinding = this.semanafinding;
    clone.isValidated = this.isValidated;

    this.isBusy = false;
    return clone;
  }
 public int compareTo(Object obj, boolean caseInsensitive) {
   if (obj == null) {
     return -1;
   }
   if (caseInsensitive) ; // this is to avoid eclipse warning only.
   if (!(OPDFertCLinicSemenAna.class.isAssignableFrom(obj.getClass()))) {
     throw new ClassCastException(
         "A OPDFertCLinicSemenAna object cannot be compared an Object of type "
             + obj.getClass().getName());
   }
   OPDFertCLinicSemenAna compareObj = (OPDFertCLinicSemenAna) obj;
   int retVal = 0;
   if (retVal == 0) {
     if (this.getID_OPDFertClinicSemenAna() == null
         && compareObj.getID_OPDFertClinicSemenAna() != null) return -1;
     if (this.getID_OPDFertClinicSemenAna() != null
         && compareObj.getID_OPDFertClinicSemenAna() == null) return 1;
     if (this.getID_OPDFertClinicSemenAna() != null
         && compareObj.getID_OPDFertClinicSemenAna() != null)
       retVal =
           this.getID_OPDFertClinicSemenAna().compareTo(compareObj.getID_OPDFertClinicSemenAna());
   }
   return retVal;
 }