public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as ConceptMapConceptComponent; if (dest != null) { base.CopyTo(dest); if (SystemElement != null) { dest.SystemElement = (Hl7.Fhir.Model.FhirUri)SystemElement.DeepCopy(); } if (CodeElement != null) { dest.CodeElement = (Hl7.Fhir.Model.Code)CodeElement.DeepCopy(); } if (DependsOn != null) { dest.DependsOn = new List <Hl7.Fhir.Model.ConceptMap.OtherConceptComponent>(DependsOn.DeepCopy()); } if (Map != null) { dest.Map = new List <Hl7.Fhir.Model.ConceptMap.ConceptMapConceptMapComponent>(Map.DeepCopy()); } return(dest); } else { throw new ArgumentException("Can only copy to an object of the same type", "other"); } }