code: public CommandLine setHelpFactory(IHelpFactory helpFactory) {
          getCommandSpec().usageMessage().helpFactory(helpFactory);
          for (CommandLine command : getCommandSpec().subcommands().values()) {
              command.setHelpFactory(helpFactory);
          }
          return this;
      }
docs: Sets a new {@code IHelpFactory} to customize the usage help message.
  @param helpFactory the new help factory. Must be non-{@code null}.
  <p>The specified setting will be registered with this {@code CommandLine} and the full hierarchy of its
  subcommands and nested sub-subcommands <em>at the moment this method is called</em>. Subcommands added
  later will have the default setting. To ensure a setting is applied to all
  subcommands, call the setter last, after adding subcommands.</p>
  @return this {@code CommandLine} object, to allow method chaining
  @since 3.9