/// <summary>
        /// Requests the table caption for record identification the delegate.
        /// </summary>
        /// <param name="recordIdentification">The record identification.</param>
        /// <param name="theDelegate">The delegate.</param>
        public void RequestTableCaptionForRecordIdentification(string recordIdentification,
                                                               IRemoteTableCaptionDelegate theDelegate)
        {
            var localDelegate = new UPTableCaptionSearchDelegate(this, theDelegate);

            this.CrmQuery?.ReadRecord(recordIdentification, localDelegate);
            if (this.localDelegates == null)
            {
                this.localDelegates = new List <UPTableCaptionSearchDelegate>();
            }

            this.localDelegates.Add(localDelegate);
        }
 /// <summary>
 /// Removes the local delegate.
 /// </summary>
 /// <param name="theDelegate">The delegate.</param>
 public void RemoveLocalDelegate(UPTableCaptionSearchDelegate theDelegate)
 {
     this.localDelegates?.Remove(theDelegate);
 }