code: public static WriteStream concatWriteStreams(StreamCloser closer, WriteStream... streams) {
  		if (closer == null) throw new IllegalArgumentException("null closer");
  		if (streams == null) throw new IllegalArgumentException("null streams");
  		for (WriteStream stream : streams) {
  			if (stream == null) throw new IllegalArgumentException("null stream");
  		}
  		return new SeqWriteStream(closer, streams);
  	}
docs: <p>
  A stream that writes byte data to a fixed sequence of underlying streams.
  
  <p>
  This is a multi-stream analogue of
  {@link WriteStream#andThen(StreamCloser, WriteStream)} or
  {@link WriteStream#butFirst(StreamCloser, WriteStream)} methods. Each
  stream is closed after it has been filled, with the last stream being
  closed on an end of stream condition.
  
  <p>
  All unclosed streams are operated on by the {@link StreamCloser} when
  {@link CloseableStream#close()} is called.
  
  @param streams
  streams to which byte data is to be written
  @param closer
  logic to be performed on each stream before writing data to
  the next stream
  @return a stream that splits its writing across multiple streams