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

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

    if (this.starttime == null) clone.starttime = null;
    else clone.starttime = (ims.framework.utils.Time) this.starttime.clone();
    if (this.endtime == null) clone.endtime = null;
    else clone.endtime = (ims.framework.utils.Time) this.endtime.clone();
    clone.isValidated = this.isValidated;

    this.isBusy = false;
    return clone;
  }