/// <summary>
 /// Creates a <see cref="TransactionPolicyInfo" /> with single retry
 /// attempt and the specified wait time
 /// </summary>
 public static TransactionPolicyInfo SingleRetry(this TransactionPolicyInfo policy,
                                                 TimeSpan timeBeforeRetry) => policy.FixedRetries(1, timeBeforeRetry);
 /// <summary>
 /// Creates a <see cref="TransactionPolicyInfo" /> with the specified
 ///  retry times.
 /// </summary>
 public static TransactionPolicyInfo WithRetries(this TransactionPolicyInfo policy,
                                                 params TimeSpan[] waitTimes)
 {
     policy.RetryTimeouts = waitTimes;
     return(policy);
 }
 /// <summary>
 /// Creates a <see cref="TransactionPolicyInfo" /> with the specified
 ///  retry count and wait time.
 /// </summary>
 public static TransactionPolicyInfo FixedRetries(this TransactionPolicyInfo policy,
                                                  int retries, TimeSpan timeBetweenRetries)
 {
     policy.RetryTimeouts = Enumerable.Repeat(timeBetweenRetries, retries);
     return(policy);
 }