code: private SortedSet<WeekOfMonth> readWeeksOfMonth(JSONValue json) {
  
          JSONArray array = null == json ? null : json.isArray();
          if (null != array) {
              SortedSet<WeekOfMonth> result = new TreeSet<>();
              for (int i = 0; i < array.size(); i++) {
                  String weekStr = readOptionalString(array.get(i));
                  try {
                      WeekOfMonth week = WeekOfMonth.valueOf(weekStr);
                      result.add(week);
                  } catch (@SuppressWarnings("unused") IllegalArgumentException | NullPointerException e) {
                      // Just skip
                  }
              }
              return result;
          }
          return new TreeSet<>();
      }
docs: Read "weeks of month" information from JSON.
  @param json the JSON where information is read from.
  @return the list of weeks read, defaults to the empty list.