code: public static DnsSrvWatcherBuilder<LookupResult> newBuilder(DnsSrvResolver resolver) {
      checkNotNull(resolver, "resolver");
  
      return new DnsSrvWatcherBuilder<LookupResult>(resolver, Functions.<LookupResult>identity());
    }
docs: Creates a {@link DnsSrvWatcherBuilder} using the given {@link DnsSrvResolver}. The builder
  can be configured to have the desired behavior.
  
  <p>Exactly one of {@link DnsSrvWatcherBuilder#polling(long, TimeUnit)} or
  {@link DnsSrvWatcherBuilder#customTrigger(DnsSrvWatcherFactory)} must be used.
  
  @param resolver The resolver to use for lookups
  @return a builder for further configuring the watcher