private String renderSection(String sectionHeading, List<String> cmdNames, CommandLine.Help help) {
			TextTable textTable = createTextTable(help);

			for (String name : cmdNames) {
				CommandSpec sub = help.commandSpec().subcommands().get(name).getCommandSpec();

				// create comma-separated list of command name and aliases
				String names = sub.names().toString();
				names = names.substring(1, names.length() - 1); // remove leading '[' and trailing ']'

				// description may contain line separators; use Text::splitLines to handle this
				String description = description(sub.usageMessage());
				CommandLine.Help.Ansi.Text[] lines = help.colorScheme().text(description).splitLines();

				for (int i = 0; i < lines.length; i++) {
					CommandLine.Help.Ansi.Text cmdNamesText = help.colorScheme().commandText(i == 0 ? names : "");
					textTable.addRowValues(cmdNamesText, lines[i]);
				}
			}
			return help.createHeading("%n" + sectionHeading + ":%n") + textTable.toString();
		}
validate all commands in Help is covered by section and each section command
exist in help.

@param help
src/main/java/dev/jbang/cli/JBang.java