private Client buildClient(final JerseyClientName jerseyClientName,
                               final JerseyClientConfiguration jerseyClientConfiguration) {
        Objects.requireNonNull(jerseyClientName);
        Objects.requireNonNull(jerseyClientConfiguration);
        final String dropWizardName = getJerseyClientNamePrefix().toLowerCase()
                                      + jerseyClientName.name().toLowerCase();

        final String userAgent = jerseyClientConfiguration.getUserAgent()
                .orElse(null);

        LOGGER.info("Building and registering jersey client for name '{}', DropWizard metric name '{}', userAgent '{}'",
                jerseyClientName, dropWizardName, userAgent);
        try {
            return new JerseyClientBuilder(environment)
                    .using(jerseyClientConfiguration)
                    .build(dropWizardName)
                    .register(DefaultLoggingFilter.createWithDefaults());
        } catch (Exception e) {
            throw new RuntimeException(LogUtil.message("Error building jersey client for '{}': {}",
                    jerseyClientName, e.getMessage()), e);
        }
    }
@return The prefix for the user agent name
stroom-dropwizard-common/src/main/java/stroom/dropwizard/common/AbstractJerseyClientFactory.java