/// <summary>
        /// Decrypts a single block of encrypted data
        /// </summary>
        /// <param name="keyBundle">The key to use for decryption</param>
        /// <param name="algorithm">The encryption algorithm</param>
        /// <param name="cipherText">The encrypted data</param>
        /// <returns></returns>
        public static async Task <KeyOperationResult> DecryptDataAsync(this KeyVaultClient client, KeyBundle keyBundle, string algorithm, byte[] cipherText)
        {
            if (keyBundle == null)
            {
                throw new ArgumentNullException("keyBundle");
            }

            return(await client.DecryptDataAsync(keyBundle.Key, algorithm, cipherText).ConfigureAwait(false));
        }