internal override void DoLoad(XmlNode iNode)
        {
            base.DoLoad(iNode);
            if (iNode != null && iNode.Name.Equals(XmlLabel))
            {
                String s = TambonHelper.GetAttributeOptionalString(iNode, "type");
                if (!String.IsNullOrEmpty(s))
                {
                    Status = (EntityType)Enum.Parse(typeof(EntityType), s);
                }
                NewParent = TambonHelper.GetAttributeOptionalInt(iNode, "parent",0);
                foreach (XmlNode lNode in iNode.ChildNodes)
                {
                    if (lNode.Name == RoyalGazetteContentReassign.XmlLabel)
                    {
                        var lContent = new RoyalGazetteContentReassign();
                        lContent.DoLoad(lNode);
                        mSubEntries.Add(lContent);
                    }

                }
            }
        }
        internal static RoyalGazetteContent CreateContentObject(String iName)
        {
            RoyalGazetteContent retval = null;
            switch ( iName )
            {
                case RoyalGazetteContentRename.XmlLabel:
                    {
                        retval = new RoyalGazetteContentRename();
                        break;
                    }
                case RoyalGazetteContentStatus.XmlLabel:
                    {
                        retval = new RoyalGazetteContentStatus();
                        break;
                    }
                case RoyalGazetteContentCreate.XmlLabel:
                    {
                        retval = new RoyalGazetteContentCreate();
                        break;
                    }
                case RoyalGazetteContentAreaChange.XmlLabel:
                    {
                        retval = new RoyalGazetteContentAreaChange();
                        break;
                    }
                case RoyalGazetteContentAreaDefinition.XmlLabel:
                    {
                        retval = new RoyalGazetteContentAreaDefinition();
                        break;
                    }
                case RoyalGazetteContentReassign.XmlLabel:
                    {
                        retval = new RoyalGazetteContentReassign();
                        break;
                    }
                case RoyalGazetteContentAbolish.XmlLabel:
                    {
                        retval = new RoyalGazetteContentAbolish();
                        break;
                    }
                case RoyalGazetteContentConstituency.XmlLabel:
                    {
                        retval = new RoyalGazetteContentConstituency();
                        break;
                    }
                case RoyalGazetteContentMention.XmlLabel:
                    {
                        retval = new RoyalGazetteContentMention();
                        break;
                    }
                case RoyalGazetteContentCapital.XmlLabel:
                    {
                        retval = new RoyalGazetteContentCapital();
                        break;
                    }

            }
            return retval;
        }