    # File lib/chef/knife.rb, line 131
        def self.list_commands(preferred_category=nil)
          load_commands

          category_desc = preferred_category ? preferred_category + " " : ''
          msg "Available #{category_desc}subcommands: (for details, knife SUB-COMMAND --help)\n\n"

          if preferred_category && subcommands_by_category.key?(preferred_category)
            commands_to_show = {preferred_category => subcommands_by_category[preferred_category]}
          else
            commands_to_show = subcommands_by_category
          end

          commands_to_show.sort.each do |category, commands|
            next if category =~ /deprecated/i
            msg "** #{category.upcase} COMMANDS **"
            commands.each do |command|
              msg subcommands[command].banner if subcommands[command]
            end
            msg
          end
        end