@Override public void execute(Output output, String... params) throws Exception { output.blankLine(); output.apply("C O N S O L E - %s", Product.getProduct()); output.blankLine(); output.apply("%-20s %s", "CMD", "DESCRIPTION"); output.separator(); List<Command> parts = new ArrayList<>(ctx.getParts(Command.class)); parts.sort(Comparator.comparing(Command::getName)); for (Command cmd : parts) { output.apply("%-20s %s", cmd.getName(), cmd.getDescription()); } output.separator(); }