code: @Nullable
    ConfigOrError selectLoadBalancerPolicy(Map<String, ?> serviceConfig) {
      try {
        List<LbConfig> loadBalancerConfigs = null;
        if (serviceConfig != null) {
          List<Map<String, ?>> rawLbConfigs =
              ServiceConfigUtil.getLoadBalancingConfigsFromServiceConfig(serviceConfig);
          loadBalancerConfigs = ServiceConfigUtil.unwrapLoadBalancingConfigList(rawLbConfigs);
        }
        if (loadBalancerConfigs != null && !loadBalancerConfigs.isEmpty()) {
          List<String> policiesTried = new ArrayList<>();
          for (LbConfig lbConfig : loadBalancerConfigs) {
            String policy = lbConfig.getPolicyName();
            LoadBalancerProvider provider = registry.getProvider(policy);
            if (provider == null) {
              policiesTried.add(policy);
            } else {
              return ConfigOrError.fromConfig(new PolicySelection(
                  provider,
                  /* serverList= */ null,
                  lbConfig.getRawConfigValue()));
            }
          }
          return ConfigOrError.fromError(
              Status.UNKNOWN.withDescription(
                  "None of " + policiesTried + " specified by Service Config are available."));
        }
        return null;
      } catch (RuntimeException e) {
        return ConfigOrError.fromError(
            Status.UNKNOWN.withDescription("can't parse load balancer configuration").withCause(e));
      }
    }
docs: Unlike a normal {@link LoadBalancer.Factory}, this accepts a full service config rather than
  the LoadBalancingConfig.
  
  @return null if no selection could be made.