code: public static PlainDate parseDate(CharSequence iso) throws ParseException {
  
          ParseLog plog = new ParseLog();
          PlainDate date = parseDate(iso, plog);
  
          if ((date == null) || plog.isError()) {
              throw new ParseException(plog.getErrorMessage(), plog.getErrorIndex());
          } else if (plog.getPosition() < iso.length()) {
              throw new ParseException("Trailing characters found: " + iso, plog.getPosition());
          } else {
              return date;
          }
  
      }
docs: /*[deutsch]
  <p>Interpretiert den angegebenen ISO-8601-kompatiblen Datumstext im <i>basic</i>-Format
  oder im <i>extended</i>-Format. </p>
  
  @param   iso     text like &quot;20160101&quot;, &quot;2016001&quot;, &quot;2016W011&quot;,
  &quot;2016-01-01&quot;, &quot;2016-001&quot; or &quot;2016-W01-1&quot;
  @return  PlainDate
  @throws  ParseException if parsing fails for any reason
  @since   3.22/4.18