/// <summary> /// Clone an Eiffel ADL archetype as an OpenEhr.V1.Its.Xml.AM.ARCHETYPE. /// </summary> public ARCHETYPE CloneArchetype(openehr.openehr.am.archetype.ARCHETYPE adlArchetype) { ARCHETYPE result = CloneArchetypeDetails(adlArchetype); object rootNode = Visit(adlArchetype.definition(), 0); C_COMPLEX_OBJECT rootComplexObject = rootNode as C_COMPLEX_OBJECT; result.definition = rootComplexObject; CloneTree(adlArchetype.definition(), rootComplexObject, 0); return result; }