docs: @Override
      public void setAsText(String text) throws IllegalArgumentException {
          if (this.allowEmpty && !StringUtils.hasText(text)) {
              // Treat empty String as null value.
              setValue(null);
          } else {
              try {
                  if (this.dateFormat != null)
                      setValue(this.dateFormat.parse(text));
                  else {
                      setValue(DateUtils.parse(text));
                  }
              } catch (ParseException ex) {
                  throw new IllegalArgumentException("Could not parse date: " + ex.getMessage(), ex);
              }
          }
      }