code: private Request make(final byte[] boundary,
          final ReadableByteChannel body) throws IOException {
          final File file = File.createTempFile(
              RqMultipart.class.getName(), ".tmp"
          );
          try (WritableByteChannel channel = Files.newByteChannel(
              file.toPath(),
              StandardOpenOption.READ,
              StandardOpenOption.WRITE
          )
          ) {
              channel.write(
                  ByteBuffer.wrap(
                      this.head().iterator().next().getBytes(RqMtBase.ENCODING)
                  )
              );
              channel.write(
                  ByteBuffer.wrap(RqMtBase.CRLF.getBytes(RqMtBase.ENCODING))
              );
              this.copy(channel, boundary, body);
          }
          return new RqTemp(file);
      }
docs: Make a request.
  Scans the origin request until the boundary reached. Caches
  the  content into a temporary file and returns it as a new request.
  @param boundary Boundary
  @param body Origin request body
  @return Request
  @throws IOException If fails