Program: 59281
Project: 59281
Buggy source:
@SuppressWarnings("String_Node_Str") public static CubeDockerConfiguration fromMap(Map<String,String> map){
  CubeDockerConfiguration cubeConfiguration=new CubeDockerConfiguration();
  if (map.containsKey(DOCKER_SERVER_IP)) {
    cubeConfiguration.dockerServerIp=map.get(DOCKER_SERVER_IP);
  }
  if (map.containsKey(DOCKER_VERSION)) {
    cubeConfiguration.dockerServerVersion=map.get(DOCKER_VERSION);
  }
  if (map.containsKey(DOCKER_URI)) {
    cubeConfiguration.dockerServerUri=map.get(DOCKER_URI);
  }
  if (map.containsKey(BOOT2DOCKER_PATH)) {
    cubeConfiguration.boot2DockerPath=map.get(BOOT2DOCKER_PATH);
  }
  if (map.containsKey(DOCKER_MACHINE_PATH)) {
    cubeConfiguration.dockerMachinePath=map.get(DOCKER_MACHINE_PATH);
  }
  if (map.containsKey(DOCKER_MACHINE_NAME)) {
    cubeConfiguration.machineName=map.get(DOCKER_MACHINE_NAME);
  }
  if (map.containsKey(USERNAME)) {
    cubeConfiguration.username=map.get(USERNAME);
  }
  if (map.containsKey(PASSWORD)) {
    cubeConfiguration.password=map.get(PASSWORD);
  }
  if (map.containsKey(EMAIL)) {
    cubeConfiguration.email=map.get(EMAIL);
  }
  if (map.containsKey(CERT_PATH)) {
    cubeConfiguration.certPath=map.get(CERT_PATH);
  }
  if (map.containsKey(DOCKER_REGISTRY)) {
    cubeConfiguration.dockerRegistry=map.get(DOCKER_REGISTRY);
  }
  if (map.containsKey(DEFINITION_FORMAT)) {
    String definitionContent=map.get(DEFINITION_FORMAT);
    cubeConfiguration.definitionFormat=DefinitionFormat.valueOf(DefinitionFormat.class,definitionContent);
  }
  if (map.containsKey(DOCKER_CONTAINERS)) {
    String content=map.get(DOCKER_CONTAINERS);
    cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convert(content,cubeConfiguration.definitionFormat);
  }
  if (map.containsKey(DOCKER_CONTAINERS_FILE)) {
    String location=map.get(DOCKER_CONTAINERS_FILE);
    try {
      cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convert(URI.create(location),cubeConfiguration.definitionFormat);
    }
 catch (    IOException e) {
      throw new IllegalArgumentException(e);
    }
  }
  if (!map.containsKey(DOCKER_CONTAINERS) && !map.containsKey(DOCKER_CONTAINERS_FILE)) {
    try {
      cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convertDefault(cubeConfiguration.definitionFormat);
    }
 catch (    IOException e) {
      throw new IllegalArgumentException(e);
    }
  }
  if (map.containsKey(AUTO_START_CONTAINERS)) {
    String expression=map.get(AUTO_START_CONTAINERS);
    Map<String,Object> containerDefinitions=cubeConfiguration.getDockerContainersContent();
    AutoStartParser autoStartParser=AutoStartParserFactory.create(expression,containerDefinitions);
    cubeConfiguration.autoStartContainers=autoStartParser;
  }
  return cubeConfiguration;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public static CubeDockerConfiguration fromMap(Map<String,String> map){
  CubeDockerConfiguration cubeConfiguration=new CubeDockerConfiguration();
  if (map.containsKey(DOCKER_SERVER_IP)) {
    cubeConfiguration.dockerServerIp=map.get(DOCKER_SERVER_IP);
  }
  if (map.containsKey(DOCKER_VERSION)) {
    cubeConfiguration.dockerServerVersion=map.get(DOCKER_VERSION);
  }
  if (map.containsKey(DOCKER_URI)) {
    cubeConfiguration.dockerServerUri=map.get(DOCKER_URI);
  }
  if (map.containsKey(BOOT2DOCKER_PATH)) {
    cubeConfiguration.boot2DockerPath=map.get(BOOT2DOCKER_PATH);
  }
  if (map.containsKey(DOCKER_MACHINE_PATH)) {
    cubeConfiguration.dockerMachinePath=map.get(DOCKER_MACHINE_PATH);
  }
  if (map.containsKey(DOCKER_MACHINE_NAME)) {
    cubeConfiguration.machineName=map.get(DOCKER_MACHINE_NAME);
  }
  if (map.containsKey(USERNAME)) {
    cubeConfiguration.username=map.get(USERNAME);
  }
  if (map.containsKey(PASSWORD)) {
    cubeConfiguration.password=map.get(PASSWORD);
  }
  if (map.containsKey(EMAIL)) {
    cubeConfiguration.email=map.get(EMAIL);
  }
  if (map.containsKey(CERT_PATH)) {
    cubeConfiguration.certPath=map.get(CERT_PATH);
  }
  if (map.containsKey(DOCKER_REGISTRY)) {
    cubeConfiguration.dockerRegistry=map.get(DOCKER_REGISTRY);
  }
  if (map.containsKey(DEFINITION_FORMAT)) {
    String definitionContent=map.get(DEFINITION_FORMAT);
    cubeConfiguration.definitionFormat=DefinitionFormat.valueOf(DefinitionFormat.class,definitionContent);
  }
  if (map.containsKey(DOCKER_CONTAINERS)) {
    String content=map.get(DOCKER_CONTAINERS);
    cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convert(content,cubeConfiguration.definitionFormat);
  }
  if (map.containsKey(DOCKER_CONTAINERS_FILE)) {
    final String location=map.get(DOCKER_CONTAINERS_FILE);
    final List<URI> resolveUri=new ArrayList<>();
    try {
      final URI uri=URI.create(location);
      resolveUri.add(uri);
      if (System.getProperty(CUBE_ENVIRONMENT) != null) {
        final String resolveFilename=resolveFilename(uri);
        final String environmentUri=uri.toString().replace(resolveFilename,resolveFilename + "String_Node_Str" + System.getProperty(CUBE_ENVIRONMENT));
        resolveUri.add(URI.create(environmentUri));
      }
      cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convert(cubeConfiguration.definitionFormat,resolveUri.toArray(new URI[resolveUri.size()]));
    }
 catch (    IOException e) {
      throw new IllegalArgumentException(e);
    }
  }
  if (map.containsKey(DOCKER_CONTAINERS_FILES)) {
    String locations=map.get(DOCKER_CONTAINERS_FILES);
    List<URI> realLocations=getUris(locations);
    try {
      cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convert(cubeConfiguration.definitionFormat,realLocations.toArray(new URI[realLocations.size()]));
    }
 catch (    IOException e) {
      throw new IllegalArgumentException(e);
    }
  }
  if (!map.containsKey(DOCKER_CONTAINERS) && !map.containsKey(DOCKER_CONTAINERS_FILE) && !map.containsKey(DOCKER_CONTAINERS_FILES)) {
    try {
      cubeConfiguration.dockerContainersContent=DockerContainerDefinitionParser.convertDefault(cubeConfiguration.definitionFormat);
    }
 catch (    IOException e) {
      throw new IllegalArgumentException(e);
    }
  }
  if (map.containsKey(AUTO_START_CONTAINERS)) {
    String expression=map.get(AUTO_START_CONTAINERS);
    Map<String,Object> containerDefinitions=cubeConfiguration.getDockerContainersContent();
    AutoStartParser autoStartParser=AutoStartParserFactory.create(expression,containerDefinitions);
    cubeConfiguration.autoStartContainers=autoStartParser;
  }
  return cubeConfiguration;
}