public T FindTransactionResultExtension <T>(string transactionId)
        {
            TransactionResult transactionResult;
            T t;

            lock (this.syncLock)
            {
                if (!this.transactionResults.TryGetValue(transactionId, out transactionResult))
                {
                    throw Fx.AssertAndFailFastService(SRClient.CannotFindTransactionResult(transactionId));
                }
                t = transactionResult.Extensions.Find <T>();
            }
            return(t);
        }