code: @Override
      JSONObject toJson() {
          JSONObject ret = super.toJson();
          if (hasSingleAttribute()) {
              ret.put("attribute",attributes.get(0));
          } else if (!hasAllAttributes()) {
              JSONArray attrs = new JSONArray();
              attrs.addAll(attributes);
              ret.put("attribute",attrs);
          }
          if (path != null) {
              ret.put("path",path);
          }
          return ret;
      }
docs: {@inheritDoc}