///////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////BUILD FROM READER                    //////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////    
        // public CodeCore(ICodelistObject parent, SdmxReader reader) {
        // super(validateRootElement(reader), reader, parent);
        // if(reader.moveToElement("Parent", "Code")) {
        // reader.moveNextElement();  //Move to the Ref Node
        // if(!reader.getCurrentElement().equals("Ref")) {
        // throw new SdmxSemmanticException("Expecting 'Ref' element after 'Parent' element for Code");
        // }
        // this.parentCode = reader.getAttributeValue("id", true);
        // } 
        // }

        // private static SdmxStructureType validateRootElement(SdmxReader reader) {
        // if(!reader.getCurrentElement().equals("Code")) {
        // throw new SdmxSemmanticException("Can not construct code - expecting 'Code' Element in SDMX, actual element:" + reader.getCurrentElementValue());
        // }
        // return SdmxStructureType.GetFromEnum(SdmxStructureEnumType.CODE);
        // }

        ///////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////BUILD FROM V2.1 SCHEMA                 //////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// Initializes a new instance of the <see cref="CodeCore"/> class.
        /// </summary>
        /// <param name="parent">
        /// The parent. 
        /// </param>
        /// <param name="code">
        /// The sdmxObject. 
        /// </param>
        public CodeCore(ICodelistObject parent, CodeType code)
            : base(code, _codeType, parent)
        {
            var parentItem = code.GetTypedParent<LocalCodeReferenceType>();
            this.parentCode = (parentItem != null) ? parentItem.GetTypedRef<LocalCodeRefType>().id : null;
        }