public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as GeneElementComponent; if (dest == null) { throw new ArgumentException("Can only copy to an object of the same type", "other"); } base.CopyTo(dest); if (Type != null) { dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy(); } if (Element != null) { dest.Element = (Hl7.Fhir.Model.Identifier)Element.DeepCopy(); } if (Source != null) { dest.Source = new List <Hl7.Fhir.Model.ResourceReference>(Source.DeepCopy()); } return(dest); }