public static void checkOptionDependencies(
      final Logger logger,
      final CommandLine commandLine,
      final String mainOptionName,
      final boolean isMainOptionCondition,
      final List<String> dependentOptionsNames) {
    if (isMainOptionCondition) {
      final String affectedOptions = getAffectedOptions(commandLine, dependentOptionsNames);

      if (!affectedOptions.isEmpty()) {
        logger.warn(DEPENDENCY_WARNING_MSG, affectedOptions, mainOptionName);
      }
    }
  }
Check if options are passed that require an option to be true to have any effect and log a
warning with the list of affected options.

<p>Note that in future version of PicoCLI some options dependency mechanism may be implemented
that could replace this. See https://github.com/remkop/picocli/issues/295

@param logger the logger instance used to log the warning
@param commandLine the command line containing the options we want to check
@param mainOptionName the name of the main option to test dependency against. Only used for
    display.
@param isMainOptionCondition the condition to test the options dependencies, if true will test
    if not won't
@param dependentOptionsNames a list of option names that can't be used if condition is met.
    Example: if --miner-coinbase is in the list and condition is that --miner-enabled should
    not be false, we log a warning.
app/src/main/java/org/hyperledger/besu/cli/util/CommandLineUtils.java