docs: public AttributeList readAttributeList(InputStream in) throws ConversionException, IOException, ClassNotFoundException {
          JSONArray json = parseArray(in);
          AttributeList ret = new AttributeList();
          for (Object item : json) {
              if (!(item instanceof JSONObject)) {
                  throwConversionException("readAttributeList() receives an items that's not a JSONObject.", item);
              }
              JSONObject jo = (JSONObject) item;
              String name = readStringInternal(jo.get(N_NAME));
              Object value = readPOJOInternal(jo.get(N_VALUE));
              ret.add(new Attribute(name, value));
          }
          return ret;
      }