code: public <T> List<T> collectionFromJson(String json, Class<T> clazz) throws JsonException {
          if (json == null) {
              return null;
          }
          try {
              List<T> result = new ArrayList<T>();
              List tempParseResult = (List) mapper.readValue(json, new TypeReference<List<T>>() {
              });
              for (Object temp : tempParseResult) {
                  result.add(fromJson(toJson(temp), clazz));
              }
              return result;
  
          } catch (JsonParseException e) {
              throw new JsonException(e.getMessage(), e);
          } catch (JsonMappingException e) {
              throw new JsonException(e.getMessage(), e);
          } catch (IOException e) {
              throw new JsonException(e.getMessage(), e);
          }
      }
docs: Converts a JsonString into a corresponding javaobject of the requested type.
  
  @param json  the inputstring to be converted to a javaobject
  @param clazz the class to which the resulting object should belong to
  @param <T>   the type of the result elements
  @return An object of type T that corresponds with the given json string.
  @throws JsonException If something went wrong converting the jsonstring into an object