code: private void addJsonObjectToKitEvent(KitEvent kitEvent, JSONObject jsonData, String keyPathPrepend) throws JSONException {
          Iterator<String> keyIterator = jsonData.keys();
          while (keyIterator.hasNext()) {
              String key = keyIterator.next();
              Object value = jsonData.get(key);
  
              if (!key.startsWith(EXTRA_PARAM_NOTATION)) {
                  if (value instanceof JSONObject) {
                      addJsonObjectToKitEvent(kitEvent, (JSONObject) value, keyPathPrepend + key + INNER_PARAM_NOTATION);
                  } else if (value instanceof JSONArray) {
                      addJsonArrayToKitEvent(kitEvent, (JSONArray) value, key + INNER_PARAM_NOTATION);
                  } else {
                      addBranchAttributes(kitEvent, keyPathPrepend, key, jsonData.getString(key));
                  }
              }
          }
      }
docs: <p>
  Converts the given JsonObject to key-value pairs and update the {@link KitEvent}
  </p>
  
  @param kitEvent       {@link KitEvent} to update with key-value pairs from the JsonObject
  @param jsonData       {@link JSONObject} to add to the {@link KitEvent}
  @param keyPathPrepend {@link String} with value to prepend to the keys adding to the {@link KitEvent}
  @throws JSONException {@link JSONException} on any Json converting errors