code: public static Mono<byte[]> collectByteArray(Flux<byte[]> bytes) {
          return bytes
              .reduceWith(ByteArrayOutputStream::new, (prev, next) -> {
                  try {
                      prev.write(next);
                  } catch (IOException e) {
                      throw Exceptions.propagate(e);
                  }
                  return prev;
              })
              .map(ByteArrayOutputStream::toByteArray);
      }
docs: Operation to collect a {@code Flux<byte[]>} into a contiguous single byte array, delivered as a single element of a {@code Mono<byte[]>}.
  
  @param bytes a Flux of 0 or more byte arrays
  @return a Mono of a byte array