code: public CompletableFuture<Object> patchAsync(final Consumer<HttpConfig> configuration) {
          return CompletableFuture.supplyAsync(() -> patch(configuration), getExecutor());
      }
docs: Executes an asynchronous PATCH request on the configured URI (asynchronous alias to `patch(Consumer)`), with additional configuration provided by the
  configuration function.
  
  This method is generally used for Java-specific configuration.
  
  [source,java]
  ----
  HttpBuilder http = HttpBuilder.configure(config -> {
  config.getRequest().setUri("http://localhost:10101");
  });
  CompletableFuture<Object> future = http.patchAsync(config -> {
  config.getRequest().getUri().setPath("/foo");
  });
  Object result = future.get();
  ----
  
  The `configuration` function allows additional configuration for this request based on the {@link HttpConfig} interface.
  
  @param configuration the additional configuration closure (delegated to {@link HttpConfig})
  @return the resulting content wrapped in a {@link CompletableFuture}