Program: 21160
Project: 21160
Buggy source:
public static BigtableOptions fromConfiguration(Configuration configuration) throws IOException {
  ChannelOptions channelOptions=createChannelOptions(configuration);
  BigtableOptions.Builder bigtableOptionsBuilder=new BigtableOptions.Builder();
  String projectId=configuration.get(PROJECT_ID_KEY);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(projectId),String.format("String_Node_Str",PROJECT_ID_KEY));
  bigtableOptionsBuilder.setProjectId(projectId);
  LOG.debug("String_Node_Str",projectId);
  String zone=configuration.get(ZONE_KEY);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(zone),String.format("String_Node_Str",ZONE_KEY));
  bigtableOptionsBuilder.setZone(zone);
  LOG.debug("String_Node_Str",zone);
  String cluster=configuration.get(CLUSTER_KEY);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(cluster),String.format("String_Node_Str",CLUSTER_KEY));
  bigtableOptionsBuilder.setCluster(cluster);
  LOG.debug("String_Node_Str",cluster);
  String overrideIp=configuration.get(IP_OVERRIDE_KEY);
  InetAddress overrideIpAddress=null;
  if (!Strings.isNullOrEmpty(overrideIp)) {
    LOG.debug("String_Node_Str",overrideIp);
    overrideIpAddress=InetAddress.getByName(overrideIp);
  }
  String dataHost=configuration.get(BIGTABLE_HOST_KEY,BIGTABLE_HOST_DEFAULT);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(dataHost),String.format("String_Node_Str",BIGTABLE_HOST_KEY));
  if (overrideIpAddress == null) {
    LOG.debug("String_Node_Str",dataHost);
    bigtableOptionsBuilder.setDataHost(InetAddress.getByName(dataHost));
  }
 else {
    LOG.debug("String_Node_Str",dataHost);
    bigtableOptionsBuilder.setDataHost(InetAddress.getByAddress(dataHost,overrideIpAddress.getAddress()));
  }
  String tableAdminHost=configuration.get(BIGTABLE_TABLE_ADMIN_HOST_KEY,BIGTABLE_TABLE_ADMIN_HOST_DEFAULT);
  if (overrideIpAddress == null) {
    LOG.debug("String_Node_Str",tableAdminHost);
    bigtableOptionsBuilder.setTableAdminHost(InetAddress.getByName(tableAdminHost));
  }
 else {
    LOG.debug("String_Node_Str",tableAdminHost);
    bigtableOptionsBuilder.setTableAdminHost(InetAddress.getByAddress(tableAdminHost,overrideIpAddress.getAddress()));
  }
  String clusterAdminHost=configuration.get(BIGTABLE_CLUSTER_ADMIN_HOST_KEY,BIGTABLE_CLUSTER_ADMIN_HOST_DEFAULT);
  if (overrideIpAddress == null) {
    LOG.debug("String_Node_Str",clusterAdminHost);
    bigtableOptionsBuilder.setClusterAdminHost(InetAddress.getByName(clusterAdminHost));
  }
 else {
    LOG.debug("String_Node_Str",clusterAdminHost);
    bigtableOptionsBuilder.setClusterAdminHost(InetAddress.getByAddress(clusterAdminHost,overrideIpAddress.getAddress()));
  }
  int port=configuration.getInt(BIGTABLE_PORT_KEY,DEFAULT_BIGTABLE_PORT);
  bigtableOptionsBuilder.setPort(port);
  ThreadFactory threadFactory=new ThreadFactoryBuilder().setDaemon(true).setNameFormat(GRPC_EVENTLOOP_GROUP_NAME + "String_Node_Str").build();
  EventLoopGroup elg=new NioEventLoopGroup(0,threadFactory);
  bigtableOptionsBuilder.setCustomEventLoopGroup(elg);
  bigtableOptionsBuilder.setChannelOptions(channelOptions);
  return bigtableOptionsBuilder.build();
}

Fixed version (ground truth):
public static BigtableOptions fromConfiguration(Configuration configuration) throws IOException {
  BigtableOptions.Builder bigtableOptionsBuilder=new BigtableOptions.Builder();
  String projectId=configuration.get(PROJECT_ID_KEY);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(projectId),String.format("String_Node_Str",PROJECT_ID_KEY));
  bigtableOptionsBuilder.setProjectId(projectId);
  LOG.debug("String_Node_Str",projectId);
  String zone=configuration.get(ZONE_KEY);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(zone),String.format("String_Node_Str",ZONE_KEY));
  bigtableOptionsBuilder.setZone(zone);
  LOG.debug("String_Node_Str",zone);
  String cluster=configuration.get(CLUSTER_KEY);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(cluster),String.format("String_Node_Str",CLUSTER_KEY));
  bigtableOptionsBuilder.setCluster(cluster);
  LOG.debug("String_Node_Str",cluster);
  String overrideIp=configuration.get(IP_OVERRIDE_KEY);
  InetAddress overrideIpAddress=null;
  if (!Strings.isNullOrEmpty(overrideIp)) {
    LOG.debug("String_Node_Str",overrideIp);
    overrideIpAddress=InetAddress.getByName(overrideIp);
  }
  String dataHost=configuration.get(BIGTABLE_HOST_KEY,BIGTABLE_HOST_DEFAULT);
  Preconditions.checkArgument(!Strings.isNullOrEmpty(dataHost),String.format("String_Node_Str",BIGTABLE_HOST_KEY));
  if (overrideIpAddress == null) {
    LOG.debug("String_Node_Str",dataHost);
    bigtableOptionsBuilder.setDataHost(InetAddress.getByName(dataHost));
  }
 else {
    LOG.debug("String_Node_Str",dataHost);
    bigtableOptionsBuilder.setDataHost(InetAddress.getByAddress(dataHost,overrideIpAddress.getAddress()));
  }
  String tableAdminHost=configuration.get(BIGTABLE_TABLE_ADMIN_HOST_KEY,BIGTABLE_TABLE_ADMIN_HOST_DEFAULT);
  if (overrideIpAddress == null) {
    LOG.debug("String_Node_Str",tableAdminHost);
    bigtableOptionsBuilder.setTableAdminHost(InetAddress.getByName(tableAdminHost));
  }
 else {
    LOG.debug("String_Node_Str",tableAdminHost);
    bigtableOptionsBuilder.setTableAdminHost(InetAddress.getByAddress(tableAdminHost,overrideIpAddress.getAddress()));
  }
  String clusterAdminHost=configuration.get(BIGTABLE_CLUSTER_ADMIN_HOST_KEY,BIGTABLE_CLUSTER_ADMIN_HOST_DEFAULT);
  if (overrideIpAddress == null) {
    LOG.debug("String_Node_Str",clusterAdminHost);
    bigtableOptionsBuilder.setClusterAdminHost(InetAddress.getByName(clusterAdminHost));
  }
 else {
    LOG.debug("String_Node_Str",clusterAdminHost);
    bigtableOptionsBuilder.setClusterAdminHost(InetAddress.getByAddress(clusterAdminHost,overrideIpAddress.getAddress()));
  }
  int port=configuration.getInt(BIGTABLE_PORT_KEY,DEFAULT_BIGTABLE_PORT);
  bigtableOptionsBuilder.setPort(port);
  ThreadFactory threadFactory=new ThreadFactoryBuilder().setDaemon(true).setNameFormat(GRPC_EVENTLOOP_GROUP_NAME + "String_Node_Str").build();
  EventLoopGroup elg=new NioEventLoopGroup(0,threadFactory);
  bigtableOptionsBuilder.setCustomEventLoopGroup(elg);
  bigtableOptionsBuilder.setChannelOptions(createChannelOptions(configuration));
  return bigtableOptionsBuilder.build();
}