public HttpClientInvoker provide(
      final ShopType shopType,
      final String url,
      final String refer,
      final String ip,
      final String userAgent) {
    final HttpClientHolder httpClient = new PoolingHttpClientHolder(ip, userAgent, refer);

    final HttpClientInvoker invoker = new HttpClientInvoker();
    invoker.setProvider(this);
    invoker.setHttpClient(httpClient);
    invoker.setShopType(shopType);
    invoker.setUrl(url);
    invoker.setRefer(refer);
    invoker.setIp(ip);
    invoker.setUserAgent(userAgent);
    invoker.setCookieStoreProvider(this.cookieStoreProvider);

    return invoker;
  }