/**************************************************************************/

        public bool ContainsLink(MacroscopeHyperlinkIn Link)
        {
            bool LinkPresent = false;

            lock (this.Links)
            {
                if (this.Links.Contains(Link))
                {
                    LinkPresent = true;
                }
            }
            return(LinkPresent);
        }
        /**************************************************************************/

        public void Remove(MacroscopeHyperlinkIn HyperlinkIn)
        {
            lock (this.Links)
            {
                foreach (MacroscopeHyperlinkIn HyperlinkInOld in this.Links)
                {
                    if (HyperlinkInOld.Equals(HyperlinkIn))
                    {
                        this.Links.Remove(HyperlinkInOld);
                    }
                }
            }
        }
        /**************************************************************************/

        private MacroscopeHyperlinkIn GetLinkByGuid(Guid ExtantGuid)
        {
            MacroscopeHyperlinkIn Link = null;

            lock (this.Links)
            {
                foreach (MacroscopeHyperlinkIn HyperlinkIn in this.Links)
                {
                    if (HyperlinkIn.GetLinkGuid() == ExtantGuid)
                    {
                        Link = HyperlinkIn;
                        break;
                    }
                }
            }
            return(Link);
        }
        /**************************************************************************/

        public MacroscopeHyperlinkIn Add(
            MacroscopeConstants.HyperlinkType LinkType,
            string Method,
            string SourceUrl,
            string TargetUrl,
            string AnchorText,
            string Title,
            string AltText,
            Guid ExtantGuid
            )
        {
            MacroscopeHyperlinkIn HyperlinkIn;

            if (this.ContainsGuid(ExtantGuid: ExtantGuid))
            {
                HyperlinkIn = this.GetLinkByGuid(ExtantGuid: ExtantGuid);
            }
            else
            {
                HyperlinkIn = new MacroscopeHyperlinkIn(
                    LinkType: LinkType,
                    Method: Method,
                    SourceUrl: SourceUrl,
                    TargetUrl: TargetUrl,
                    AnchorText: AnchorText,
                    Title: Title,
                    AltText: AltText,
                    ExtantGuid: ExtantGuid
                    );

                lock (this.Links)
                {
                    this.Links.Add(HyperlinkIn);
                }
            }

            return(HyperlinkIn);
        }