code: @Override
      void setStopDate(String newStopDate) throws IllegalArgumentException {
  
          try {
              if (newStopDate.contains(":")) {
                  // User passed in a time as well as date
                  setStopDate(defaultDateTimeFormat.parse(newStopDate));
              } else {
                  // when stop date is supplied with no time, we need to add 1 day - 1 ms
                  // to make the stop date be treated as a maximum
                  Date stopDate = new Date(defaultDateFormat.parse(newStopDate).getTime() + 86400000 - 1);
                  setStopDate(stopDate);
              }
          } catch (ParseException e) {
              try {
                  if (newStopDate.contains(":")) {
                      // User passed in a time as well as date
                      setStopDate(isoDateTimeFormat.parse(newStopDate));
                  } else {
                      // when stop date is supplied with no time, we need to add 1 day - 1 ms
                      // to make the stop date be treated as a maximum
                      Date stopDate = new Date(isoDateFormat.parse(newStopDate).getTime() + 86400000 - 1);
                      setStopDate(stopDate);
                  }
              } catch (ParseException p) {
                  throw new IllegalArgumentException(getLocalizedString("BL_INVALID_MAXDATE"), e);
              }
          }
      }
docs: @param newStopDate
  - the stopDate to set