code: protected void checkRequiredParameters(CliParserState parserState) {
  
      CliModeObject mode = parserState.requireCurrentMode(this.cliState);
      // check all required options if active of not for current mode...
      for (CliOptionContainer option : this.cliState.getOptions(mode)) {
        CliOption cliOption = option.getOption();
        if (cliOption.required() && (this.valueMap.get(option) == null)) {
          throw new CliOptionMissingException(cliOption.name(), mode.getTitle());
        }
      }
      // check all required arguments if active or not for current mode...
      for (CliArgumentContainer argument : this.cliState.getArguments(mode)) {
        CliArgument cliArgument = argument.getArgument();
        if (cliArgument.required() && (this.valueMap.get(argument) == null)) {
          throw new CliArgumentMissingException(cliArgument.name(), mode.getTitle());
        }
      }
    }
docs: This method checks that all {@link CliOption#required() required} {@link CliOption options} are present if they are
  triggered by the {@link CliParserState#getCurrentMode() current mode}.
  
  @param parserState is the current {@link CliParserState}.