@Override
    public HttpHost getTarget() {
        return hostDecorateFunc.apply(httpAsyncRequestProducer.getTarget());
    }
@Test
    public void getTarget() {
        final HttpAsyncRequestProducer delegate = Mockito.mock(HttpAsyncRequestProducer.class);
        AtomicBoolean isExecute = new AtomicBoolean();
        final HttpHost host = Mockito.mock(HttpHost.class);
        final Function<HttpHost, HttpHost> function = httpRequest -> {
            isExecute.set(true);
            return host;
        };
        final HttpAsyncRequestProducerDecorator decorator = new HttpAsyncRequestProducerDecorator(
                delegate, null, function);
        final HttpHost httpRequest = decorator.getTarget();
        Assert.assertEquals(httpRequest, host);
        Assert.assertTrue(isExecute.get());
    }