I'm trying to create ZIP files on-demand from the server and stream them back to the browser, but I'm not sure the proper way to do this.  The only way I can think of is to use a `ZipOutputStream`, but that would be a blocking operation.  Is there a better way to do this?