code: private WeekDay readWeekDay(JSONValue val) throws IllegalArgumentException {
  
          String str = readOptionalString(val);
          if (null != str) {
              return WeekDay.valueOf(str);
          }
          throw new IllegalArgumentException();
      }
docs: Read a single weekday from the provided JSON value.
  @param val the value to read the week day from.
  @return the week day read
  @throws IllegalArgumentException thrown if the provided JSON value is not the representation of a week day.