code: public static ReadStream concatReadStreams(ReadStream... streams) {
  		if (streams == null) throw new IllegalArgumentException("null streams");
  		for (ReadStream stream : streams) {
  			if (stream == null) throw new IllegalArgumentException("null stream");
  		}
  		return new SeqReadStream(StreamCloser.closeStream(), streams);
  	}
docs: <p>
  A stream that reads byte data from a fixed sequence of underlying
  streams.
  
  <p>
  This is a multi-stream analogue of {@link ReadStream#andThen(ReadStream)}
  or {@link ReadStream#butFirst(ReadStream)} methods. Each stream is closed
  after it has been exhausted, with the last stream being closed on an end
  of stream condition.
  
  <p>
  All unclosed streams are closed when {@link CloseableStream#close()} is
  called.
  
  @param streams
  streams from which byte data is to be read
  @return a stream that concatenates the byte data of multiple streams.