code: public static String determineNetworkResolution(final BucketConfig config, final NetworkResolution nr,
          final Set<NetworkAddress> seedHosts) {
          if (nr.equals(NetworkResolution.DEFAULT)) {
              return null;
          } else if (nr.equals(NetworkResolution.AUTO)) {
              for (NodeInfo info : config.nodes()) {
                  if (seedHosts.contains(info.hostname())) {
                      return null;
                  }
  
                  Map<String, AlternateAddress> aa = info.alternateAddresses();
                  if (aa != null && !aa.isEmpty()) {
                      for (Map.Entry<String, AlternateAddress> entry : aa.entrySet()) {
                          AlternateAddress alternateAddress = entry.getValue();
                          if (alternateAddress != null && seedHosts.contains(alternateAddress.hostname())) {
                              return entry.getKey();
                          }
                      }
                  }
              }
              return null;
          } else {
              return nr.name();
          }
      }
docs: Helper method to figure out which network resolution should be used.
  
  if DEFAULT is selected, then null is returned which is equal to the "internal" or default
  config mode. If AUTO is used then we perform the select heuristic based off of the seed
  hosts given. All other resolution settings (i.e. EXTERNAL) are returned directly and are
  considered to be part of the alternate address configs.
  
  @param config the config to check against
  @param nr the network resolution setting from the environment
  @param seedHosts the seed hosts from bootstrap for autoconfig.
  @return the found setting if external is used, null if internal/default is used.