public ProcessResponse copy() {
   ProcessResponse dst = new ProcessResponse();
   copyValues(dst);
   if (identifier != null) {
     dst.identifier = new ArrayList<Identifier>();
     for (Identifier i : identifier) dst.identifier.add(i.copy());
   }
   ;
   dst.request = request == null ? null : request.copy();
   dst.outcome = outcome == null ? null : outcome.copy();
   dst.disposition = disposition == null ? null : disposition.copy();
   dst.ruleset = ruleset == null ? null : ruleset.copy();
   dst.originalRuleset = originalRuleset == null ? null : originalRuleset.copy();
   dst.created = created == null ? null : created.copy();
   dst.organization = organization == null ? null : organization.copy();
   dst.requestProvider = requestProvider == null ? null : requestProvider.copy();
   dst.requestOrganization = requestOrganization == null ? null : requestOrganization.copy();
   dst.form = form == null ? null : form.copy();
   if (notes != null) {
     dst.notes = new ArrayList<ProcessResponseNotesComponent>();
     for (ProcessResponseNotesComponent i : notes) dst.notes.add(i.copy());
   }
   ;
   if (error != null) {
     dst.error = new ArrayList<Coding>();
     for (Coding i : error) dst.error.add(i.copy());
   }
   ;
   return dst;
 }
 public ProcessResponseNotesComponent copy() {
   ProcessResponseNotesComponent dst = new ProcessResponseNotesComponent();
   copyValues(dst);
   dst.type = type == null ? null : type.copy();
   dst.text = text == null ? null : text.copy();
   return dst;
 }
 public boolean hasNotes() {
   if (this.notes == null) return false;
   for (ProcessResponseNotesComponent item : this.notes) if (!item.isEmpty()) return true;
   return false;
 }