public override void ValidateLinks(Links.LinksValidationResult result)
       {           
            base.ValidateLinks(result);

            var document = new HtmlDocument();
            document.LoadHtml(this.Value);

            var htmlNodeCollection = document.DocumentNode.SelectNodes("//span[@itemid and @field]");
            if (htmlNodeCollection == null) return;

            var links = htmlNodeCollection.Select(n=> 
                new { ItemID=n.Attributes["itemid"].Value,Field=n.Attributes["field"].Value});
            
            foreach(var link in links)
            {                
                var item = this.InnerField.Database.GetItem(link.ItemID);                
                
                if (item != null && item.Fields.Any(f=> f.Key.Equals(link.Field,StringComparison.InvariantCultureIgnoreCase)))
                {
                    result.AddValidLink(item, string.Concat(link.ItemID,"^",link.Field,"^",this._innerField.Key));
                }
                else
                {
                    result.AddBrokenLink(link.ItemID);
                }
            }
          
        }