public CorresponderRet GetCorresponder()
        {
            GKCommunicationDir     commDir      = GKCommunicationDir.cdFrom;
            GEDCOMIndividualRecord corresponder = null;

            GEDCOMTag corrTag = FindTag("FROM", 0);

            if (corrTag == null)
            {
                corrTag = FindTag("TO", 0);
            }

            if (corrTag != null)
            {
                corresponder = (Owner.XRefIndex_Find(GEDCOMUtils.CleanXRef(corrTag.StringValue)) as GEDCOMIndividualRecord);

                if (corrTag.Name == "FROM")
                {
                    commDir = GKCommunicationDir.cdFrom;
                }
                else if (corrTag.Name == "TO")
                {
                    commDir = GKCommunicationDir.cdTo;
                }
            }

            return(new CorresponderRet(commDir, corresponder));
        }
        public void SetCorresponder(GKCommunicationDir commDir, GEDCOMIndividualRecord corresponder)
        {
            DeleteTag("FROM");
            DeleteTag("TO");

            if (corresponder != null)
            {
                AddTag(CommunicationTags[(int)commDir], GEDCOMUtils.EncloseXRef(corresponder.XRef), null);
            }
        }
 public CorresponderRet(GKCommunicationDir commDir, GEDCOMIndividualRecord corresponder)
 {
     CommDir      = commDir;
     Corresponder = corresponder;
 }