code: public void setValue(final String value) throws ParseException {
          // value can be either a date-time or a date..
          if (Value.DATE.equals(getParameter(Parameter.VALUE))) {
              // ensure timezone is null for VALUE=DATE properties..
              updateTimeZone(null);
              this.date = new Date(value);
          } else if (value != null && !value.isEmpty()){
              this.date = new DateTime(value, timeZone);
          }
      }
docs: Default setValue() implementation. Allows for either DATE or DATE-TIME values.
  
  @param value a string representation of a DATE or DATE-TIME value
  @throws ParseException where the specified value is not a valid DATE or DATE-TIME
  representation