@Override
  public TransactionPoolConfiguration toDomainObject() {
    return ImmutableTransactionPoolConfiguration.builder()
        .txPoolImplementation(txPoolImplementation)
        .enableSaveRestore(saveRestoreEnabled)
        .noLocalPriority(noLocalPriority)
        .priceBump(priceBump)
        .blobPriceBump(blobPriceBump)
        .txFeeCap(txFeeCap)
        .saveFile(saveFile)
        .strictTransactionReplayProtectionEnabled(strictTxReplayProtectionEnabled)
        .prioritySenders(prioritySenders)
        .minGasPrice(minGasPrice)
        .pendingTransactionsLayerMaxCapacityBytes(layeredOptions.txPoolLayerMaxCapacity)
        .maxPrioritizedTransactions(layeredOptions.txPoolMaxPrioritized)
        .maxPrioritizedTransactionsByType(layeredOptions.txPoolMaxPrioritizedByType)
        .maxFutureBySender(layeredOptions.txPoolMaxFutureBySender)
        .minScore(layeredOptions.minScore)
        .txPoolLimitByAccountPercentage(sequencedOptions.txPoolLimitByAccountPercentage)
        .txPoolMaxSize(sequencedOptions.txPoolMaxSize)
        .pendingTxRetentionPeriod(sequencedOptions.pendingTxRetentionPeriod)
        .transactionPoolValidatorService(transactionPoolValidatorService)
        .unstable(
            ImmutableTransactionPoolConfiguration.Unstable.builder()
                .txMessageKeepAliveSeconds(unstableOptions.txMessageKeepAliveSeconds)
                .eth65TrxAnnouncedBufferingPeriod(unstableOptions.eth65TrxAnnouncedBufferingPeriod)
                .maxTrackedSeenTxsPerPeer(unstableOptions.maxTrackedSeenTxsPerPeer)
                .peerTrackerForgetEvictedTxs(
                    Optional.ofNullable(unstableOptions.peerTrackerForgetEvictedTxs)
                        .orElse(deriveDefaultPeersTrackerForgetEvictedTxs(txPoolImplementation)))
                .build())
        .build();
  }
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