Program: 147078
Project: 147078
Buggy source:
private void handleJson(JSONObject jsonObject){
  String msgType=(String)jsonObject.get("String_Node_Str");
  if (msgType != null) {
    if (msgType.equalsIgnoreCase("String_Node_Str")) {
      if (jsonObject.get("String_Node_Str") != null) {
        double frameRenderTimeInMillis=JSONMessageHandler.convertObjectFromJsonToDouble(jsonObject.get("String_Node_Str"));
        int frameRate=(int)(frameRenderTimeInMillis * 1.5);
        if (frameRate > 30)         Preferences.userNodeForPackage(TheApp.class).put("String_Node_Str",String.valueOf(frameRate));
        return;
      }
      if (debugLevel > 1) {
        String msg="String_Node_Str" + jsonObject.get("String_Node_Str") + "String_Node_Str"+ jsonObject.get("String_Node_Str")+ "String_Node_Str";
        double rendertimeAverage=((Double)jsonObject.get("String_Node_Str")) / ((Long)jsonObject.get("String_Node_Str"));
        OpenSimLogger.logMessage(msg + "String_Node_Str" + (int)1000 / rendertimeAverage + "String_Node_Str",OpenSimLogger.INFO);
      }
      return;
    }
    if (msgType.equalsIgnoreCase("String_Node_Str")) {
      String objType=(String)jsonObject.get("String_Node_Str");
      if (objType != null && objType.equalsIgnoreCase("String_Node_Str")) {
        JSONArray uuids=(JSONArray)jsonObject.get("String_Node_Str");
        JSONArray positions=(JSONArray)jsonObject.get("String_Node_Str");
        Enumeration<ModelVisualizationJson> modelJsons=mapModelsToJsons.elements();
        while (modelJsons.hasMoreElements()) {
          ModelVisualizationJson nextModelJson=modelJsons.nextElement();
          String uuidDtring=nextModelJson.getModelUUID().toString();
          int index=uuids.indexOf(uuidDtring);
          if (index >= 0) {
            JSONObject offsetObj=(JSONObject)positions.get(index);
            Vec3 offsetAsVec3=JSONMessageHandler.convertJsonXYZToVec3(offsetObj);
            for (int vindex=0; vindex < 3; vindex++) {
              nextModelJson.getTransformWRTScene().p().set(vindex,offsetAsVec3.get(vindex));
            }
          }
        }
      }
      return;
    }
  }
  Object uuid=jsonObject.get("String_Node_Str");
  String uuidString=(String)uuid;
  if (uuidString.length() == 0)   return;
  final OpenSimObject selectedObject=currentJson.findObjectForUUID(uuidString);
  if (selectedObject == null)   return;
  JSONMessageHandler.handleJSON(getCurrentModel(),selectedObject,jsonObject);
}

Fixed version (ground truth):
private void handleJson(JSONObject jsonObject){
  String msgType=(String)jsonObject.get("String_Node_Str");
  if (msgType != null) {
    if (msgType.equalsIgnoreCase("String_Node_Str")) {
      if (jsonObject.get("String_Node_Str") != null) {
        double frameRenderTimeInMillis=JSONMessageHandler.convertObjectFromJsonToDouble(jsonObject.get("String_Node_Str"));
        int frameRate=(int)(frameRenderTimeInMillis * 1.5);
        if (frameRate > 30)         Preferences.userNodeForPackage(TheApp.class).put("String_Node_Str",String.valueOf(frameRate));
        return;
      }
      if (debugLevel > 1) {
        String msg="String_Node_Str" + jsonObject.get("String_Node_Str") + "String_Node_Str"+ jsonObject.get("String_Node_Str")+ "String_Node_Str";
        double rendertimeAverage=((Double)jsonObject.get("String_Node_Str")) / ((Long)jsonObject.get("String_Node_Str"));
        OpenSimLogger.logMessage(msg + "String_Node_Str" + (int)1000 / rendertimeAverage + "String_Node_Str",OpenSimLogger.INFO);
      }
      return;
    }
    if (msgType.equalsIgnoreCase("String_Node_Str")) {
      String objType=(String)jsonObject.get("String_Node_Str");
      if (objType != null && objType.equalsIgnoreCase("String_Node_Str")) {
        JSONArray uuids=(JSONArray)jsonObject.get("String_Node_Str");
        JSONArray positions=(JSONArray)jsonObject.get("String_Node_Str");
        Enumeration<ModelVisualizationJson> modelJsons=mapModelsToJsons.elements();
        while (modelJsons.hasMoreElements()) {
          ModelVisualizationJson nextModelJson=modelJsons.nextElement();
          String uuidDtring=nextModelJson.getModelUUID().toString();
          int index=uuids.indexOf(uuidDtring);
          if (index >= 0) {
            JSONObject offsetObj=(JSONObject)positions.get(index);
            Vec3 offsetAsVec3=JSONMessageHandler.convertJsonXYZToVec3(offsetObj);
            for (int vindex=0; vindex < 3; vindex++) {
              nextModelJson.getTransformWRTScene().p().set(vindex,offsetAsVec3.get(vindex));
            }
          }
        }
      }
      return;
    }
    if (msgType.equalsIgnoreCase("String_Node_Str")) {
      WebSocketDB.getInstance().finishPendingMessage((String)jsonObject.get("String_Node_Str"));
      return;
    }
  }
  Object uuid=jsonObject.get("String_Node_Str");
  String uuidString=(String)uuid;
  if (uuidString.length() == 0)   return;
  final OpenSimObject selectedObject=currentJson.findObjectForUUID(uuidString);
  if (selectedObject == null)   return;
  JSONMessageHandler.handleJSON(getCurrentModel(),selectedObject,jsonObject);
}