docs: private static <T> void processJsonArray(JsonArray jsonArray, List<T> list, Class<? extends T> listClass, Verification verify,
                                               ListVersionHandling versionHandler) throws IOException, BadVersionException {
  
          for (JsonValue value : jsonArray) {
              switch (value.getValueType()) {
                  case TRUE:
                  case FALSE:
                  case ARRAY:
                      // array had another array as an element or a JSON true/false.
                      // message reads "Data Model Error: Simple parser does not understand nested arrays, or true/false in an array."
                      throw new IllegalStateException(DATA_MODEL_ERROR_ARRAY);
                  case OBJECT:
                      //array had a complex object as an element.
                      try {
                          T newArrayElement = processJsonObjectBackIntoDataModelInstance((JsonObject) value, listClass, verify);
                          list.add(newArrayElement);
                      } catch (BadVersionException e) {
                          // versionHandler tells us what to do...
                          if (!ListVersionHandling.IGNORE_ELEMENT.equals(versionHandler)) {
                              // Default and THROW_EXCEPTION mean we should rethrow this
                              throw e;
                          } // Else ignore this
                      }
                      break;
                  case STRING:
                      list.add(listClass.cast(((JsonString) value).getString()));
                      break;
                  case NULL:
                      list.add(null);
                      break;
                  case NUMBER:
                      // message reads "Data Model Error: Simple parser does not understand numbers in arrays.";
                      throw new IllegalStateException(DATA_MODEL_ERROR_NUMBER);
                  default:
                      throw new IllegalStateException("Data Model Error: Unknown Json value type returned: " + value.getValueType().toString());
              }
          }
      }