private bool EnqueueRetry()
        {
            bool flag       = false;
            int  retryDelay = this.GetRetryDelay();

            if (this.timeoutHelper.RemainingTime().TotalMilliseconds <= retryDelay)
            {
                return(flag);
            }
            this.sqlCommand.Dispose();
            new IOThreadTimer(new Action <object>(SqlCommandAsyncResult.StartCommandCallback), new SqlCommandAsyncResult(CloneSqlCommand(this.sqlCommand), this.connectionString, this.dependentTransaction, this.timeoutHelper.RemainingTime(), this.retryCount, this.maximumRetries, base.PrepareAsyncCompletion(onRetryCommandCallback), this), false).Set(retryDelay);
            if (TD.QueingSqlRetryIsEnabled())
            {
                TD.QueingSqlRetry(retryDelay.ToString(CultureInfo.InvariantCulture));
            }
            return(true);
        }