public Object clone() { if (this.isBusy) return this; this.isBusy = true; SoapNoteVo clone = new SoapNoteVo(this.id, this.version); if (this.authoringinformation == null) clone.authoringinformation = null; else clone.authoringinformation = (ims.core.vo.AuthoringInformationVo) this.authoringinformation.clone(); clone.carecontext = this.carecontext; if (this.clinicalcontact == null) clone.clinicalcontact = null; else clone.clinicalcontact = (ims.core.vo.ClinicalContactShortVo) this.clinicalcontact.clone(); clone.subjectivenote = this.subjectivenote; clone.objectivenote = this.objectivenote; clone.analysisnote = this.analysisnote; clone.plannote = this.plannote; if (this.clinicalnote == null) clone.clinicalnote = null; else clone.clinicalnote = (ims.core.vo.ClinicalNotesVo) this.clinicalnote.clone(); if (this.areaofneed == null) clone.areaofneed = null; else clone.areaofneed = (ims.core.vo.lookups.AreaOfNeedCollection) this.areaofneed.clone(); clone.isValidated = this.isValidated; this.isBusy = false; return clone; }