public static MappedValue createMappedValue(ResultSet rs) throws SQLException {
    int col = 1;
    MappedValue val = new MappedValue();
    val.setId(rs.getInt(col++));
    val.setDesc(rs.getString(col++));
    val.setValue(rs.getInt(col++));

    return val;
  }
 @Override
 public int compareTo(MappedValue o) {
   if (o == null || getValue() < o.getValue()) {
     return -1;
   }
   if (getValue() > o.getValue()) {
     return 1;
   }
   return 0;
 }
  public static MappedValue createMappedValue(JSONObject jsonObj) throws JSONException {
    MappedValue val = new MappedValue();

    if (jsonObj.has("id")) {
      val.setId(jsonObj.getInt("id"));
    }

    if (jsonObj.has("value")) {
      val.setValue(jsonObj.getInt("value"));
    }

    if (jsonObj.has("desc")) {
      val.setDesc(jsonObj.getString("desc"));
    }

    return val;
  }