Program: 94112
Project: 94112
Buggy source:
/** 
 * @param args arguments
 * @return GenericContainerArgs the server args created
 * @throws IDCreateException if the server args cannot be retrieved from given args
 * @since 3.0
 */
protected GenericContainerArgs getServerArgs(Object[] args) throws IDCreateException {
  ID newID=null;
  Integer ka=null;
  InetAddress bindAddress=null;
  if (args != null && args.length > 0) {
    if (args[0] instanceof Map) {
      Map map=(Map)args[0];
      Object idVal=map.get(ID_PROP);
      if (idVal != null) {
        newID=getIDFromArg(idVal);
      }
 else {
        String hostname=TCPServerSOContainer.DEFAULT_HOST;
        Object hostVal=map.get(HOSTNAME_PROP);
        if (hostVal != null) {
          if (!(hostVal instanceof String))           throw new IllegalArgumentException("String_Node_Str");
          hostname=(String)hostVal;
        }
        int port=-1;
        Object portVal=map.get(PORT_PROP);
        if (portVal != null)         port=getIntegerFromArg(portVal).intValue();
        if (port < 0)         port=getTCPServerPort(port);
        String path=TCPServerSOContainer.DEFAULT_NAME;
        Object pathVal=map.get(PATH_PROP);
        if (pathVal != null) {
          if (!(pathVal instanceof String))           throw new IllegalArgumentException("String_Node_Str");
          path=(String)pathVal;
        }
        newID=createTCPServerID(hostname,port,path);
      }
      Object bindAddressVal=map.get(BINDADDRESS_PROP);
      if (bindAddressVal != null) {
        if (bindAddressVal instanceof InetAddress) {
          bindAddress=(InetAddress)bindAddressVal;
        }
 else         throw new IllegalArgumentException("String_Node_Str");
      }
      Object o=map.get(KEEPALIVE_PROP);
      if (o == null)       o=map.get(KEEPALIVE_PROP.toLowerCase());
      ka=getIntegerFromArg(o);
    }
 else     if (args.length > 1) {
      if (args[0] instanceof String || args[0] instanceof ID)       newID=getIDFromArg(args[0]);
      if (args[1] instanceof String || args[1] instanceof Integer)       ka=getIntegerFromArg(args[1]);
    }
 else     newID=getIDFromArg(args[0]);
  }
  if (newID == null) {
    int port=getTCPServerPort(-1);
    newID=createTCPServerID(TCPServerSOContainer.DEFAULT_HOST,port,TCPServerSOContainer.DEFAULT_NAME);
  }
  if (ka == null)   ka=new Integer(TCPServerSOContainer.DEFAULT_KEEPALIVE);
  return new GenericContainerArgs(newID,ka,bindAddress);
}

Fixed version (ground truth):
/** 
 * @param args arguments
 * @return GenericContainerArgs the server args created
 * @throws IDCreateException if the server args cannot be retrieved from given args
 * @throws ContainerIntentException 
 * @since 3.0
 */
protected GenericContainerArgs getServerArgs(Object[] args) throws IDCreateException, ContainerIntentException {
  ID newID=null;
  Integer ka=null;
  InetAddress bindAddress=null;
  boolean privateIntent=false;
  if (args != null && args.length > 0) {
    if (args[0] instanceof Map) {
      @SuppressWarnings("String_Node_Str") Map<String,Object> map=(Map<String,Object>)args[0];
      Object idVal=map.get(ID_PROP);
      if (idVal != null) {
        newID=getIDFromArg(idVal);
      }
 else {
        String hostname=TCPServerSOContainer.DEFAULT_HOST;
        Object hostVal=map.get(HOSTNAME_PROP);
        if (hostVal != null) {
          if (!(hostVal instanceof String))           throw new IllegalArgumentException("String_Node_Str");
          hostname=(String)hostVal;
        }
        int port=-1;
        Object portVal=map.get(PORT_PROP);
        if (portVal != null)         port=getIntegerFromArg(portVal).intValue();
        if (port < 0)         port=getTCPServerPort(port);
        String path=TCPServerSOContainer.DEFAULT_NAME;
        Object pathVal=map.get(PATH_PROP);
        if (pathVal != null) {
          if (!(pathVal instanceof String))           throw new IllegalArgumentException("String_Node_Str");
          path=(String)pathVal;
        }
        newID=createTCPServerID(hostname,port,path);
      }
      Object bindAddressVal=map.get(BINDADDRESS_PROP);
      if (bindAddressVal != null) {
        if (bindAddressVal instanceof InetAddress) {
          bindAddress=(InetAddress)bindAddressVal;
        }
 else         throw new IllegalArgumentException("String_Node_Str");
      }
      Object o=map.get(KEEPALIVE_PROP);
      if (o == null)       o=map.get(KEEPALIVE_PROP.toLowerCase());
      ka=getIntegerFromArg(o);
      privateIntent=ContainerInstantiatorUtils.containsPrivateIntent(map);
    }
 else     if (args.length > 1) {
      if (args[0] instanceof String || args[0] instanceof ID)       newID=getIDFromArg(args[0]);
      if (args[1] instanceof String || args[1] instanceof Integer)       ka=getIntegerFromArg(args[1]);
    }
 else     newID=getIDFromArg(args[0]);
  }
  if (newID == null) {
    int port=getTCPServerPort(-1);
    newID=createTCPServerID(TCPServerSOContainer.DEFAULT_HOST,port,TCPServerSOContainer.DEFAULT_NAME);
  }
  if (ka == null)   ka=new Integer(TCPServerSOContainer.DEFAULT_KEEPALIVE);
  if (privateIntent)   ContainerInstantiatorUtils.checkPrivate(newID);
  return new GenericContainerArgs(newID,ka,bindAddress);
}