code: public ServicePoolBuilder<S> withServiceFactory(ServiceFactory<S> serviceFactory) {
          checkNotNull(serviceFactory);
          checkArgument(!Strings.isNullOrEmpty(serviceFactory.getServiceName()), "Service name must be configured");
  
          _serviceFactory = serviceFactory;
          _serviceName = serviceFactory.getServiceName();
          _serviceFactory.configure(this);
          return this;
      }
docs: Adds a {@code ServiceFactory} instance to the builder.  The {@code ServiceFactory#configure} method will be
  called at this time to allow the {@code ServiceFactory} to set service pool settings on the builder.
  <p>
  @param serviceFactory the ServiceFactory to use
  @return this