public virtual void CompressAsync(Stream sourceStream, Stream destinationStream) {
sourceStream.ShouldNotBeNull("sourceStream");
destinationStream.ShouldNotBeNull("destinationStream");
var compressedBytes = Compress(sourceStream.ToBytes());
destinationStream.WriteAsync(compressedBytes, 0, compressedBytes.Length);
}