code: private void parseParameterUndefinedOption(String parameter, CliParserState parserState, CliParameterConsumer parameterConsumer) {
  
      if (END_OPTIONS.equals(parameter)) {
        parserState.setOptionsComplete();
        return;
      }
  
      CliStyleHandling handling = this.cliState.getCliStyle().optionMixedShortForm();
      Matcher matcher = PATTERN_MIXED_SHORT_OPTIONS.matcher(parameter);
      if (matcher.matches()) {
        // "-vlp" --> "-v", "-l", "-p"
        RuntimeException mixedOptions = null;
        if (handling != CliStyleHandling.OK) {
          // TODO: declare proper exception for this purpose...
          mixedOptions = new NlsIllegalArgumentException("Mixed options (" + parameter + ") should be avoided.");
        }
        handling.handle(getLogger(), mixedOptions);
  
        String multiOptions = matcher.group(1);
        for (int i = 0; i < multiOptions.length(); i++) {
          String subArgument = PREFIX_SHORT_OPTION + multiOptions.charAt(i);
          parseParameter(subArgument, parserState, CliParameterConsumer.EMPTY_INSTANCE);
        }
      } else if (parameter.startsWith(PREFIX_SHORT_OPTION)) {
        throw new CliOptionUndefinedException(parameter);
      } else {
        // so it seems the options are completed and this is a regular argument
        parserState.setOptionsComplete();
        parseParameter(parameter, parserState, parameterConsumer);
      }
    }
docs: Parses the given commandline {@code parameter} that is no defined {@link CliOption}.
  
  @param parameter is the commandline argument.
  @param parserState is the current {@link CliParserState}.
  @param parameterConsumer is the {@link CliParameterConsumer}.