code: private void tryToSetParsedValue(String value) throws Exception {
  
          JSONObject json = JSONParser.parseStrict(value).isObject();
          JSONValue val = json.get(JsonKey.START);
          setStart(readOptionalDate(val));
          val = json.get(JsonKey.END);
          setEnd(readOptionalDate(val));
          setWholeDay(readOptionalBoolean(json.get(JsonKey.WHOLE_DAY)));
          JSONObject patternJson = json.get(JsonKey.PATTERN).isObject();
          readPattern(patternJson);
          setExceptions(readDates(json.get(JsonKey.EXCEPTIONS)));
          setSeriesEndDate(readOptionalDate(json.get(JsonKey.SERIES_ENDDATE)));
          setOccurrences(readOptionalInt(json.get(JsonKey.SERIES_OCCURRENCES)));
          setDerivedEndType();
          setCurrentTillEnd(readOptionalBoolean(json.get(JsonKey.CURRENT_TILL_END)));
          setParentSeriesId(readOptionalUUID(json.get(JsonKey.PARENT_SERIES)));
  
      }
docs: Try to set the value from the provided Json string.
  @param value the value to set.
  @throws Exception thrown if parsing fails.