public override bool Equals(object obj)
        {
            bool test = base.Equals(obj);

            if (!(obj is StringUri))
            {
                return(false);
            }
            StringUri curObj = (StringUri)obj;

            if (this.ItemString == curObj.ItemString &
                this.ItemUri == curObj.ItemUri)
            {
                return(true);
            }
            return(false);
        }
        private StringUri EachRowRec(_Tag inpTag)
        {
            StringUri result = new StringUri {
                ItemString = ""
            };

            if (!inpTag.HasInnerTags)
            {
                result.ItemString = inpTag.Value;
                return(result);
            }

            List <StringUri> outList = new List <StringUri>();

            foreach (_Tag inTag in inpTag.InnerTags)
            {
                if (inTag.HasInnerTags)
                {
                    outList.Add(EachRowRec(inTag));
                }
                //continue;
                outList.Add(new StringUri {
                    ItemString = inTag.Value, ItemUri = GetUriFromHref(inTag)
                });
            }

            foreach (StringUri item in outList)
            {
                if (item.ItemString == "")
                {
                    continue;
                }
                result.ItemString += (item.ItemString);
                result.ItemUri    += (item.ItemUri);
            }

            return(result);
        }