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

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

    clone.form = this.form;
    clone.report = this.report;
    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 (!(FormReportVo.class.isAssignableFrom(obj.getClass()))) {
     throw new ClassCastException(
         "A FormReportVo object cannot be compared an Object of type " + obj.getClass().getName());
   }
   FormReportVo compareObj = (FormReportVo) obj;
   int retVal = 0;
   if (retVal == 0) {
     if (this.getForm() == null && compareObj.getForm() != null) return -1;
     if (this.getForm() != null && compareObj.getForm() == null) return 1;
     if (this.getForm() != null && compareObj.getForm() != null)
       retVal = this.getForm().compareTo(compareObj.getForm());
   }
   return retVal;
 }