code: public CMAUpload create(String spaceId, InputStream stream) throws IOException {
      assertNotNull(spaceId, "spaceId");
      assertNotNull(stream, "stream");
  
      final byte[] content = readAllBytes(stream);
  
      final RequestBody payload = RequestBody.create(parse(OCTET_STREAM_CONTENT_TYPE), content);
      return service.create(spaceId, payload).blockingFirst();
    }
docs: Create a new upload.
  <p>
  Once an upload is created, you can use it in {@link ModuleAssets} through
  {@link CMAClient#assets()} for creating an asset based on a local file.
  <p>
  This method will override the configuration specified through
  {@link CMAClient.Builder#setSpaceId(String)} and will ignore
  {@link CMAClient.Builder#setEnvironmentId(String)}.
  
  @param spaceId a nonnull id representing the space to add the upload to.
  @param stream  the actual binary representation of the upload. Cannot be null.
  @return the upload created, containing the id to be used further on.
  @throws IllegalArgumentException if spaceId is null.
  @throws IllegalArgumentException if stream is null.
  @throws java.io.IOException      if the stream could not be read.