public IHierarchicalCodelistMutableObject buildHcl(string id, string agency, string version)
        {
            IHierarchicalCodelistMutableObject hcl = new HierarchicalCodelistMutableCore();
            hcl.Id = id;
            hcl.AgencyId = agency;
            hcl.Version = version;

            return hcl;
        }
        /// <summary>
        /// Handles the Structure top level elements
        ///     This includes Codelist
        /// </summary>
        /// <param name="parent">
        /// The parent <see cref="IMutableObjects"/>
        /// </param>
        /// <param name="localName">
        /// The name of the current xml element
        /// </param>
        /// <returns>
        /// The <see cref="StructureReaderBaseV20.ElementActions"/>.
        /// </returns>
        protected override ElementActions HandleTopLevel(IMutableObjects parent, object localName)
        {
            ElementActions actions = null;
            if (NameTableCache.IsElement(localName, ElementNameTable.HierarchicalCodelist))
            {
                var hcl = new HierarchicalCodelistMutableCore();
                ParseAttributes(hcl, this.Attributes);
                parent.AddHierarchicalCodelist(hcl);
                actions = this.AddNameableAction(hcl, this.HandleChildElements);
            }

            return actions;
        }