public void validate(
      final CommandLine commandLine, final GenesisConfigOptions genesisConfigOptions) {
    CommandLineUtils.failIfOptionDoesntMeetRequirement(
        commandLine,
        "Could not use legacy or sequenced transaction pool options with layered implementation",
        !txPoolImplementation.equals(LAYERED),
        CommandLineUtils.getCLIOptionNames(Sequenced.class));

    CommandLineUtils.failIfOptionDoesntMeetRequirement(
        commandLine,
        "Could not use layered transaction pool options with legacy or sequenced implementation",
        !txPoolImplementation.equals(LEGACY) && !txPoolImplementation.equals(SEQUENCED),
        CommandLineUtils.getCLIOptionNames(Layered.class));

    CommandLineUtils.failIfOptionDoesntMeetRequirement(
        commandLine,
        "Price bump option is not compatible with zero base fee market",
        !genesisConfigOptions.isZeroBaseFee(),
        List.of(TX_POOL_PRICE_BUMP));
  }
Validate that there are no inconsistencies in the specified options. For example that the
options are valid for the selected implementation.

@param commandLine the full commandLine to check all the options specified by the user
@param genesisConfigOptions the genesis config options
app/src/main/java/org/hyperledger/besu/cli/options/TransactionPoolOptions.java