### Question:
HCHttp implements ClientObjectFactory<HttpClient, BatchRequest> { @Override public Collection<String> getServerList() { return new ArrayList<>(serverUris); } HCHttp(Builder builder); @Override Function<BatchRequest, Boolean> createFailureHandler(FailoverPolicy failover); @Override BatchOperations<BatchRequest> createBatchOperations(); @Override Collection<String> getServerList(); @Override HttpClient createClient(); @Override Function<BatchRequest, Boolean> createBatchListener(FailoverPolicy failoverPolicy); @Override void execute(IndexTemplate indexTemplate); @Override void addOperation(Operation operation); @PluginBuilderFactory static HCHttp.Builder newBuilder(); @Override void start(); @Override void stop(); @Override boolean isStarted(); @Override boolean isStopped(); static final String PLUGIN_NAME; }### Answer:
@Test public void configReturnsACopyOfServerUrisList() { HCHttp.Builder builder = createDefaultHttpObjectFactoryBuilder(); builder.withServerUris("http: ClientObjectFactory<HttpClient, BatchRequest> config = builder.build(); Collection<String> serverUrisList = config.getServerList(); serverUrisList.add("test"); assertNotEquals(serverUrisList, config.getServerList()); }