code: public <T> void registerWriter(JsonWriterI<T> writer, Class<?>... cls) {
  		for (Class<?> c : cls)
  			data.put(c, writer);
  	}
  
  	/**
  	 * Write a Key : value entry to a stream
  	 */
  	public static void writeJSONKV(String key, Object value, Appendable out, JSONStyle compression) throws IOException {
  		if (key == null)
  			out.append("null");
  		else if (!compression.mustProtectKey(key))
  			out.append(key);
  		else {
  			out.append('"');
  			JSONValue.escape(key, out, compression);
  			out.append('"');
  		}
  		compression.objectEndOfKey(out);
  		if (value instanceof String) {
  			compression.writeString(out, (String) value);
  		} else
  			JSONValue.writeJSONString(value, out, compression);
  		compression.objectElmStop(out);
  	}
docs: associate an Writer to a Class
  @param writer
  @param cls