@Override
    public VertxFeign internalBuild() {
      checkNotNull(
          this.webClient, "Vertx WebClient instance wasn't provided in VertxFeign builder");

      final VertxHttpClient client = new VertxHttpClient(webClient, timeout, requestPreProcessor);
      final VertxMethodHandler.Factory methodHandlerFactory =
          new VertxMethodHandler.Factory(
              client, retryer, requestInterceptors, logger, logLevel, decode404);
      final ParseHandlersByName handlersByName =
          new ParseHandlersByName(
              contract,
              encoder,
              decoder,
              queryMapEncoder,
              capabilities,
              errorDecoder,
              methodHandlerFactory);
      final InvocationHandlerFactory invocationHandlerFactory =
          new VertxInvocationHandler.Factory();

      return new VertxFeign(handlersByName, invocationHandlerFactory);
    }
Defines target and builds client.

@param target target instance
@param <T> class of API interface
@return built client
vertx/feign-vertx/src/main/java/feign/VertxFeign.java