class JSONObject extends JSONElement {

    public static Object wrap(Object obj) {
        if(obj == null || obj.equals(NULL)){
            return NULL;
        }
        if(isPrimitive(obj)){
            return obj;
        }
        if(obj instanceof Map){
            return new JSONObject((Map)obj);
        }
        if(obj instanceof Collection){
            return new JSONArray((Collection)obj);
        }
        if(obj.getClass().isArray()){
            return wrapArray(obj);
        }
        return new JSONObject();
    }

    public  JSONObject(String string);
    public  JSONObject(Map<String, Object> map);
    public  JSONObject();
      JSONObject(JsonElement jsonElement);

}