code: I parse(String text) throws ParseException {
  
          ParseLog plog = new ParseLog();
          AttributeQuery attrs = this.startFormat.getAttributes();
          I ret = this.parse(text, plog, attrs);
          int pos = plog.getPosition();
          int len = text.length();
  
          if ((ret == null) || plog.isError()) {
              throw new ParseException(
                  plog.getErrorMessage(),
                  plog.getErrorIndex());
          } else if (
              (pos < len)
              && !attrs.get(TRAILING_CHARACTERS, Boolean.FALSE).booleanValue()
          ) {
              String suffix;
  
              if (len - pos <= 10) {
                  suffix = text.subSequence(pos, len).toString();
              } else {
                  suffix = text.subSequence(pos, pos + 10).toString() + "...";
              }
  
              throw new ParseException("Unparsed trailing characters: " + suffix, pos);
          }
  
          return ret;
  
      }
docs: <p>Interpretiert den angegebenen Text als chronologisches Intervall. </p>
  
  @param   text        text to be parsed
  @return  parse result
  @throws  IndexOutOfBoundsException if the text is empty
  @throws  ParseException if the text is not parseable