Program: 33118
Project: 33118
Buggy source:
private void startTurn(){
  HashMap<String,Object> deviceParameters=device.getParameters();
  String url;
  boolean turnEnabled=false;
  if (deviceParameters.containsKey(RCDevice.ParameterKeys.MEDIA_TURN_ENABLED) && (Boolean)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_TURN_ENABLED)) {
    turnEnabled=true;
  }
  RCDevice.MediaIceServersDiscoveryType iceServerDiscoveryType=RCDevice.MediaIceServersDiscoveryType.values()[(int)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_SERVERS_DISCOVERY_TYPE)];
  if (iceServerDiscoveryType == RCDevice.MediaIceServersDiscoveryType.ICE_SERVERS_CONFIGURATION_URL_XIRSYS_V2) {
    url=deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_URL) + "String_Node_Str" + deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_USERNAME)+ "String_Node_Str"+ deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_PASSWORD)+ "String_Node_Str"+ deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_DOMAIN)+ "String_Node_Str";
  }
 else   if (iceServerDiscoveryType == RCDevice.MediaIceServersDiscoveryType.ICE_SERVERS_CONFIGURATION_URL_XIRSYS_V3) {
    url=deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_URL) + "String_Node_Str" + deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_DOMAIN);
  }
 else {
    onIceServersReady(external2InternalIceServers((List<Map<String,String>>)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_SERVERS)));
    return;
  }
  new IceServerFetcher(url,turnEnabled,iceServerDiscoveryType,(String)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_USERNAME),(String)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_PASSWORD),this).makeRequest();
}

Fixed version (ground truth):
private void startTurn(){
  HashMap<String,Object> deviceParameters=device.getParameters();
  String url;
  boolean turnEnabled=false;
  if (deviceParameters.containsKey(RCDevice.ParameterKeys.MEDIA_TURN_ENABLED) && (Boolean)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_TURN_ENABLED)) {
    turnEnabled=true;
  }
  RCDevice.MediaIceServersDiscoveryType iceServerDiscoveryType;
  if (deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_SERVERS_DISCOVERY_TYPE) instanceof Enum) {
    iceServerDiscoveryType=(RCDevice.MediaIceServersDiscoveryType)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_SERVERS_DISCOVERY_TYPE);
  }
 else {
    iceServerDiscoveryType=RCDevice.MediaIceServersDiscoveryType.values()[(int)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_SERVERS_DISCOVERY_TYPE)];
  }
  if (iceServerDiscoveryType == RCDevice.MediaIceServersDiscoveryType.ICE_SERVERS_CONFIGURATION_URL_XIRSYS_V2) {
    url=deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_URL) + "String_Node_Str" + deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_USERNAME)+ "String_Node_Str"+ deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_PASSWORD)+ "String_Node_Str"+ deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_DOMAIN)+ "String_Node_Str";
  }
 else   if (iceServerDiscoveryType == RCDevice.MediaIceServersDiscoveryType.ICE_SERVERS_CONFIGURATION_URL_XIRSYS_V3) {
    url=deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_URL) + "String_Node_Str" + deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_DOMAIN);
  }
 else {
    onIceServersReady(external2InternalIceServers((List<Map<String,String>>)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_SERVERS)));
    return;
  }
  new IceServerFetcher(url,turnEnabled,iceServerDiscoveryType,(String)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_USERNAME),(String)deviceParameters.get(RCDevice.ParameterKeys.MEDIA_ICE_PASSWORD),this).makeRequest();
}