### Question:
BulkProcessorObjectFactory implements ClientObjectFactory<TransportClient, BulkRequest> { @Override public Collection<String> getServerList() { return new ArrayList<>(serverUris); } protected  BulkProcessorObjectFactory(Collection<String> serverUris, Auth auth); protected  BulkProcessorObjectFactory(Collection<String> serverUris, Auth auth, ClientSettings clientSettings); @Override Collection<String> getServerList(); @Override TransportClient createClient(); @Override Function<BulkRequest, Boolean> createBatchListener(FailoverPolicy failoverPolicy); @Override Function<BulkRequest, Boolean> createFailureHandler(FailoverPolicy failover); @Override BatchOperations<BulkRequest> createBatchOperations(); @Override void execute(IndexTemplate indexTemplate); @Override void addOperation(Operation operation); @PluginBuilderFactory static Builder newBuilder();  }### Answer:
@Test public void configReturnsACopyOfServerUrisList() { Builder builder = createTestObjectFactoryBuilder(); builder.withServerUris("http: ClientObjectFactory<TransportClient, BulkRequest> config = builder.build(); Collection<String> serverUrisList = config.getServerList(); serverUrisList.add("test"); assertNotEquals(serverUrisList.size(), config.getServerList().size()); }