internal override bool Execute(LocalTUILogonConnectivityTester umConn)
            {
                umConn.DebugTrace("Inside SendDigits Execute()", new object[0]);
                if (umConn.IsCallGone())
                {
                    umConn.Error = new TUC_RemoteEndDisconnected();
                    return(false);
                }
                if (string.IsNullOrEmpty(this.digitsToSend))
                {
                    return(true);
                }
                bool result;

                try
                {
                    foreach (char c in this.digitsToSend)
                    {
                        umConn.DebugTrace("Inside SendDigits , sending digit {0}", new object[]
                        {
                            c
                        });
                        if (!umConn.SendDTMFTone(c))
                        {
                            return(false);
                        }
                        Thread.Sleep(500);
                    }
                    result = true;
                }
                catch (Exception ex)
                {
                    if (!(ex is RealTimeException) && !(ex is InvalidOperationException))
                    {
                        throw;
                    }
                    umConn.Error = new TUC_SendSequenceError(ex.Message, ex);
                    umConn.ErrorTrace("Inside SendDigits Execute, error ={0}", new object[]
                    {
                        ex
                    });
                    result = false;
                }
                return(result);
            }