code: private static List<Object> readerToList(JsonReader reader) throws IOException {
      // todo: try to infer the type of the List?
      List<Object> list = new ArrayList<Object>();
      reader.beginArray();
      while (reader.hasNext()) {
        list.add(readValue(reader));
      }
      reader.endArray();
      return list;
    }
docs: Reads the {@link JsonReader} into a {@link List}.