protected void parseOption(CliParserState parserState, String option, CliOptionContainer optionContainer, CliParameterConsumer parameterConsumer) {

    CliValueContainer valueContainer = this.valueMap.getOrCreate(optionContainer);
    PojoPropertyAccessorOneArg setter = optionContainer.getSetter();
    Class<?> propertyClass = setter.getPropertyClass();
    String argument;
    if (optionContainer.isTrigger()) {
      argument = "true";
    } else if (Boolean.class.equals(propertyClass)) {
      String lookahead = parameterConsumer.getCurrent();
      if ("true".equalsIgnoreCase(lookahead)) {
        parameterConsumer.getNext();
        argument = "true";
      } else if ("false".equalsIgnoreCase(lookahead)) {
        parameterConsumer.getNext();
        argument = "false";
      } else {
        // option (e.g. "--trigger") is not followed by "true" or "false"
        CliStyleHandling handling = this.cliState.getCliStyle().optionMissingBooleanValue();
        if (handling != CliStyleHandling.OK) {
          handling.handle(getLogger(), new CliOptionMissingValueException(option));
        }
        argument = "true";
      }
    } else {
      if (!parameterConsumer.hasNext()) {
        throw new CliOptionMissingValueException(option);
      }
      argument = parameterConsumer.getNext();
    }
    valueContainer.setValue(argument);
  }
protected void parseOption ( CliParserState parserState , String option , CliOptionContainer optionContainer , CliParameterConsumer parameterConsumer ) { CliValueContainer valueContainer = this . valueMap . getOrCreate ( optionContainer ) ; PojoPropertyAccessorOneArg setter = optionContainer . getSetter ( ) ; Class < ? > propertyClass = setter . getPropertyClass ( ) ; String argument ; if ( optionContainer . isTrigger ( ) ) { argument = "true" ; } else if ( Boolean . class . equals ( propertyClass ) ) { String lookahead = parameterConsumer . getCurrent ( ) ; if ( "true" . equalsIgnoreCase ( lookahead ) ) { parameterConsumer . getNext ( ) ; argument = "true" ; } else if ( "false" . equalsIgnoreCase ( lookahead ) ) { parameterConsumer . getNext ( ) ; argument = "false" ; } else { CliStyleHandling handling = this . cliState . getCliStyle ( ) . optionMissingBooleanValue ( ) ; if ( handling != CliStyleHandling . OK ) { handling . handle ( getLogger ( ) , new CliOptionMissingValueException ( option ) ) ; } argument = "true" ; } } else { if ( ! parameterConsumer . hasNext ( ) ) { throw new CliOptionMissingValueException ( option ) ; } argument = parameterConsumer . getNext ( ) ; } valueContainer . setValue ( argument ) ; }
This method parses the value of a {@link CliOption}.

@param parserState is the {@link CliParserState}.
@param option is the command-line parameter that triggered the given {@code optionContainer}.
@param optionContainer is the {@link CliOptionContainer} for the current option that has already been detected.
@param parameterConsumer is the {@link CliParameterConsumer}.