code: @Nullable
      static List<Object> jsonArrayToList(@Nullable JSONArray jsonArray) {
          if (jsonArray == null) {
              return null;
          }
  
          List<Object> objectList = new ArrayList<>();
          for (int i = 0; i < jsonArray.length(); i++) {
              try {
                  Object ob = jsonArray.get(i);
                  if (ob instanceof JSONArray) {
                      objectList.add(jsonArrayToList((JSONArray) ob));
                  } else if (ob instanceof JSONObject) {
                      Map<String, Object> objectMap = jsonObjectToMap((JSONObject) ob);
                      if (objectMap != null) {
                          objectList.add(objectMap);
                      }
                  } else {
                      if (NULL.equals(ob)) {
                          continue;
                      }
                      objectList.add(ob);
                  }
              } catch (JSONException ignored) {
                  // Nothing to do in this case.
              }
          }
          return objectList;
      }
docs: Converts a {@link JSONArray} to a {@link List}.
  
  @param jsonArray a {@link JSONArray} to be converted
  @return a {@link List} representing the input, or {@code null} if said input is {@code null}