public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken)
{
StreamHelpers.ValidateCopyToArgs(this, destination, bufferSize);
return cancellationToken.IsCancellationRequested ?
Task.FromCanceled<int>(cancellationToken) :
CopyToAsyncCore(destination, bufferSize, cancellationToken);
}