/// <inheritdoc />
 public override Task RemoveAsync(object key, CancellationToken cancellationToken)
 {
     if (cancellationToken.IsCancellationRequested)
     {
         return(Task.FromCanceled <object>(cancellationToken));
     }
     return(RegionStrategy.RemoveAsync(key, cancellationToken));
 }
 /// <inheritdoc />
 public override Task ClearAsync(CancellationToken cancellationToken)
 {
     if (cancellationToken.IsCancellationRequested)
     {
         return(Task.FromCanceled <object>(cancellationToken));
     }
     return(RegionStrategy.ClearAsync(cancellationToken));
 }
 /// <inheritdoc />
 public override Task PutManyAsync(object[] keys, object[] values, CancellationToken cancellationToken)
 {
     if (cancellationToken.IsCancellationRequested)
     {
         return(Task.FromCanceled <object>(cancellationToken));
     }
     return(RegionStrategy.PutManyAsync(keys, values, cancellationToken));
 }
 /// <inheritdoc />
 public override Task UnlockAsync(object key, object lockValue, CancellationToken cancellationToken)
 {
     if (cancellationToken.IsCancellationRequested)
     {
         return(Task.FromCanceled <object>(cancellationToken));
     }
     try
     {
         return(RegionStrategy.UnlockAsync(key, (string)lockValue, cancellationToken));
     }
     catch (System.Exception ex)
     {
         return(Task.FromException <object>(ex));
     }
 }
 /// <inheritdoc />
 public override async Task <object> LockManyAsync(object[] keys, CancellationToken cancellationToken)
 {
     cancellationToken.ThrowIfCancellationRequested();
     return(await(RegionStrategy.LockManyAsync(keys, cancellationToken)).ConfigureAwait(false));
 }