private static void addForkHelp(final CommandLine subCommandLine) {
    subCommandLine
        .getHelpSectionMap()
        .put("forks_header", help -> help.createHeading("%nKnown Forks:%n"));
    subCommandLine
        .getHelpSectionMap()
        .put(
            "forks",
            help ->
                help.createTextTable(
                        Arrays.stream(EvmSpecVersion.values())
                            .collect(
                                Collectors.toMap(
                                    EvmSpecVersion::getName,
                                    EvmSpecVersion::getDescription,
                                    (a, b) -> b,
                                    LinkedHashMap::new)))
                    .toString());
    List<String> keys = new ArrayList<>(subCommandLine.getHelpSectionKeys());
    int index = keys.indexOf(CommandLine.Model.UsageMessageSpec.SECTION_KEY_FOOTER_HEADING);
    keys.add(index, "forks_header");
    keys.add(index + 1, "forks");

    subCommandLine.setHelpSectionKeys(keys);
  }
Constructor for the EvmToolCommand class with custom input and output streams.

@param in The input stream to be used.
@param out The output stream to be used.
ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java