public static async Task WriteAllBytesAsync([NotNull] string filename, [NotNull] byte[] bytes,
CancellationToken cancellation = default(CancellationToken)) {
if (filename == null) throw new ArgumentNullException(nameof(filename));
if (bytes == null) throw new ArgumentNullException(nameof(bytes));
using (var stream = File.Open(filename, FileMode.Create)) {
await stream.WriteAsync(bytes, 0, bytes.Length, cancellation);
}
}