code: public static ClockInterval parseISO(String text) throws ParseException {
  
          if (text.isEmpty()) {
              throw new IndexOutOfBoundsException("Empty text.");
          }
  
          ChronoParser<PlainTime> parser = (
              (text.indexOf(':') == -1) ? Iso8601Format.BASIC_WALL_TIME : Iso8601Format.EXTENDED_WALL_TIME);
          ParseLog plog = new ParseLog();
  
          ClockInterval result =
              new IntervalParser<>(
                  ClockIntervalFactory.INSTANCE,
                  parser,
                  parser,
                  BracketPolicy.SHOW_NEVER,
                  '/'
              ).parse(text, plog, parser.getAttributes());
  
          if ((result == null) || plog.isError()) {
              throw new ParseException(plog.getErrorMessage(), plog.getErrorIndex());
          } else if (plog.getPosition() < text.length()) {
              throw new ParseException("Trailing characters found: " + text, plog.getPosition());
          } else {
              return result;
          }
  
      }
docs: /*[deutsch]
  <p>Interpretiert den angegebenen ISO-konformen Text als Intervall. </p>
  
  <p>Beispiele f&uuml;r unterst&uuml;tzte Formate: </p>
  
  <ul>
  <li>09:45/PT5H</li>
  <li>PT5H/14:45</li>
  <li>0945/PT5H</li>
  <li>PT5H/1445</li>
  <li>PT01:55:30/14:15:30</li>
  <li>04:01:30.123/24:00:00.000</li>
  <li>04:01:30,123/24:00:00,000</li>
  </ul>
  
  @param   text        text to be parsed
  @return  parsed interval
  @throws  IndexOutOfBoundsException if given text is empty
  @throws  ParseException if the text is not parseable
  @since   2.1
  @see     BracketPolicy#SHOW_NEVER