public override Task WriteAsync(byte[] array, int offset, int count, CancellationToken cancellationToken)
{
EnsureCompressionMode();
// We use this checking order for compat to earlier versions:
if (_asyncOperations != 0)
throw new InvalidOperationException(SR.InvalidBeginCall);
ValidateParameters(array, offset, count);
EnsureNotDisposed();
if (cancellationToken.IsCancellationRequested)
return Task.FromCanceled<int>(cancellationToken);
return WriteAsyncCore(array, offset, count, cancellationToken);
}