public static SatsClass createOrUpdateUsingJsonObject(
     Realm realm, JSONObject json, boolean update) throws JSONException {
   SatsClass obj = null;
   if (update) {
     Table table = realm.getTable(SatsClass.class);
     long pkColumnIndex = table.getPrimaryKey();
     if (!json.isNull("id")) {
       long rowIndex = table.findFirstString(pkColumnIndex, json.getString("id"));
       if (rowIndex != TableOrView.NO_MATCH) {
         obj = new SatsClassRealmProxy();
         obj.realm = realm;
         obj.row = table.getRow(rowIndex);
       }
     }
   }
   if (obj == null) {
     obj = realm.createObject(SatsClass.class);
   }
   if (!json.isNull("id")) {
     obj.setId((String) json.getString("id"));
   }
   if (!json.isNull("centerFilterId")) {
     obj.setCenterFilterId((String) json.getString("centerFilterId"));
   }
   if (!json.isNull("classTypeId")) {
     obj.setClassTypeId((String) json.getString("classTypeId"));
   }
   if (!json.isNull("durationInMinutes")) {
     obj.setDurationInMinutes((int) json.getInt("durationInMinutes"));
   }
   if (!json.isNull("instructorId")) {
     obj.setInstructorId((String) json.getString("instructorId"));
   }
   if (!json.isNull("name")) {
     obj.setName((String) json.getString("name"));
   }
   if (!json.isNull("startTime")) {
     obj.setStartTime((String) json.getString("startTime"));
   }
   if (!json.isNull("bookedPersonsCount")) {
     obj.setBookedPersonsCount((int) json.getInt("bookedPersonsCount"));
   }
   if (!json.isNull("maxPersonsCount")) {
     obj.setMaxPersonsCount((int) json.getInt("maxPersonsCount"));
   }
   if (!json.isNull("regionId")) {
     obj.setRegionId((String) json.getString("regionId"));
   }
   if (!json.isNull("waitingListCount")) {
     obj.setWaitingListCount((int) json.getInt("waitingListCount"));
   }
   if (!json.isNull("classCategoryIds")) {
     obj.getClassCategoryIds().clear();
     JSONArray array = json.getJSONArray("classCategoryIds");
     for (int i = 0; i < array.length(); i++) {
       se.greatbrain.sats.data.model.ClassCategoryIds item =
           ClassCategoryIdsRealmProxy.createOrUpdateUsingJsonObject(
               realm, array.getJSONObject(i), update);
       obj.getClassCategoryIds().add(item);
     }
   }
   return obj;
 }