Program: 98908
Project: 98908
Buggy source:
void onEvent2(GL2 gl,JSONObject response){
  try {
    String respid=response.getString("String_Node_Str");
    String respdata=null;
    String respdata2=null;
    String respdata3=null;
    String respdata4=null;
    String resptype=response.getString("String_Node_Str");
    if (response.has("String_Node_Str")) {
      respdata=response.getString("String_Node_Str");
    }
    if (response.has("String_Node_Str")) {
      respdata2=response.getString("String_Node_Str");
    }
    if (response.has("String_Node_Str")) {
      respdata3=response.getString("String_Node_Str");
    }
    if (response.has("String_Node_Str")) {
      respdata4=response.getString("String_Node_Str");
    }
    int eventid=Integer.parseInt(respid);
switch (eventid) {
case 100:
      sendEvent(resptype,respdata);
    break;
case 101:
  sendExec(resptype,respdata);
break;
case 102:
loadModule(resptype,respdata);
break;
case 103:
loadModule2(resptype,respdata);
break;
case 200:
setEnv(resptype,respdata);
break;
case 1002:
onTextInput(resptype,respdata);
break;
case 1200:
goUrl(resptype,respdata);
break;
case 2600:
mSettings.open();
break;
case 2601:
mSettings.save();
break;
case 2610:
mSettings.writeInt(resptype,respdata);
break;
case 2611:
mSettings.writeStr(resptype,respdata);
break;
case 2620:
mSettings.loadInt(resptype,respdata);
break;
case 2621:
mSettings.loadStr(resptype,respdata);
break;
case 2622:
mSettings.loadArray(resptype,respdata);
break;
case 4000:
mTextures.newTexture(gl,resptype,respdata,true);
break;
case 4001:
mTextures.deleteTexture(gl,resptype);
break;
case 4100:
mObjectsFact.create(resptype,respdata);
break;
case 4110:
mObjectsFact.place(resptype,respdata);
break;
case 4120:
mObjectsFact.scale(resptype,respdata);
break;
case 4130:
mObjectsFact.texture(resptype,respdata);
break;
case 4140:
mObjectsFact.state(resptype,respdata);
break;
case 4150:
mObjectsFact.remove(resptype,respdata);
break;
case 4160:
mObjectsFact.rotate(resptype,respdata);
break;
case 4200:
mAnims.move(resptype,respdata,respdata2,respdata3);
break;
case 4210:
mAnims.rotate(resptype,respdata,respdata2,respdata3);
break;
case 5000:
mSounds.newSound(resptype,respdata);
break;
case 5010:
mSounds.onPlaySound(resptype,respdata);
break;
case 5011:
float val=Float.parseFloat(resptype);
mSounds.setVolume(val);
break;
case 5012:
int mutval=Integer.parseInt(respdata);
mSounds.setMute(mutval);
break;
case 6001:
mItems.newFromTemplate(resptype,respdata);
break;
case 6002:
mItems.setTexture(resptype,respdata);
break;
case 6003:
mItems.createModel(resptype,respdata);
break;
case 6004:
mItems.setSubmodels(resptype,respdata);
break;
case 7000:
connect(resptype,respdata);
break;
case 7001:
join(resptype,respdata);
break;
case 7002:
send(resptype);
break;
case 7003:
disconnect();
break;
case 4300:
default :
mDataGrid.onEvent2(gl,response);
}
}
 catch (JSONException e) {
e.printStackTrace();
}
}

Fixed version (ground truth):
void onEvent2(GL2 gl,JSONObject response){
  try {
    String respid=response.getString("String_Node_Str");
    String respdata=null;
    String respdata2=null;
    String respdata3=null;
    String respdata4=null;
    String resptype=response.getString("String_Node_Str");
    if (response.has("String_Node_Str")) {
      respdata=response.getString("String_Node_Str");
    }
    if (response.has("String_Node_Str")) {
      respdata2=response.getString("String_Node_Str");
    }
    if (response.has("String_Node_Str")) {
      respdata3=response.getString("String_Node_Str");
    }
    if (response.has("String_Node_Str")) {
      respdata4=response.getString("String_Node_Str");
    }
    int eventid=Integer.parseInt(respid);
switch (eventid) {
case 100:
      sendEvent(resptype,respdata);
    break;
case 101:
  sendExec(resptype,respdata);
break;
case 102:
loadModule(resptype,respdata);
break;
case 103:
loadModule2(resptype,respdata);
break;
case 200:
setEnv(resptype,respdata);
break;
case 1002:
onTextInput(resptype,respdata);
break;
case 1200:
goUrl(resptype,respdata);
break;
case 2600:
mSettings.open();
break;
case 2601:
mSettings.save();
break;
case 2610:
mSettings.writeInt(resptype,respdata);
break;
case 2611:
mSettings.writeStr(resptype,respdata);
break;
case 2620:
mSettings.loadInt(resptype,respdata);
break;
case 2621:
mSettings.loadStr(resptype,respdata);
break;
case 2622:
mSettings.loadArray(resptype,respdata);
break;
case 4000:
mTextures.newTexture(gl,resptype,respdata,true);
break;
case 4001:
mTextures.deleteTexture(gl,resptype);
break;
case 4100:
mObjectsFact.create(resptype,respdata);
break;
case 4110:
mObjectsFact.place(resptype,respdata);
break;
case 4120:
mObjectsFact.scale(resptype,respdata);
break;
case 4130:
mObjectsFact.texture(resptype,respdata,respdata2);
break;
case 4140:
mObjectsFact.state(resptype,respdata);
break;
case 4150:
mObjectsFact.remove(resptype,respdata);
break;
case 4160:
mObjectsFact.rotate(resptype,respdata);
break;
case 4200:
mAnims.move(resptype,respdata,respdata2,respdata3);
break;
case 4210:
mAnims.rotate(resptype,respdata,respdata2,respdata3);
break;
case 5000:
mSounds.newSound(resptype,respdata);
break;
case 5010:
mSounds.onPlaySound(resptype,respdata);
break;
case 5011:
float val=Float.parseFloat(resptype);
mSounds.setVolume(val);
break;
case 5012:
int mutval=Integer.parseInt(respdata);
mSounds.setMute(mutval);
break;
case 6001:
mItems.newFromTemplate(resptype,respdata);
break;
case 6002:
mItems.setTexture(resptype,respdata);
break;
case 6003:
mItems.createModel(resptype,respdata);
break;
case 6004:
mItems.setSubmodels(resptype,respdata);
break;
case 6005:
mItems.newEmpty(resptype);
break;
case 6006:
mItems.addShape(resptype,respdata,respdata2,respdata3,respdata4);
break;
case 6007:
mItems.addShapeFromData(resptype,respdata,respdata2,respdata3);
break;
case 7000:
connect(resptype,respdata);
break;
case 7001:
join(resptype,respdata);
break;
case 7002:
send(resptype);
break;
case 7003:
disconnect();
break;
case 4300:
default :
mDataGrid.onEvent2(gl,response);
}
}
 catch (JSONException e) {
e.printStackTrace();
}
}