class NoRetryJaxRsStrategy implements JaxRsStrategy<T> {

    @Override
    public <R> R apply(final Function<T, R> function) throws IOException {
        final T jaxRsClient = jaxRsClientFactory.createClient(apiClass, hostName, port, pathPrefix, scheme);
        try {
            return function.apply(jaxRsClient);
        } catch (ProcessingException e) {
            throw new IOException("Communication with REST server failed", e);
        }
    }

    public  NoRetryJaxRsStrategy(
            final HostName hostName,
            final int port,
            final JaxRsClientFactory jaxRsClientFactory,
            final Class<T> apiClass,
            final String pathPrefix,
            String scheme);

}