final Map helpMap = new HashMap();
final List catList = new ArrayList();
setProperties(cfg);
cfg.processChildren(CATEGORY, new ConfigurationCallback() {
public void process(Configuration cc) {
String name = cc.getAttribute(NAME);
lastCatName[0] = name;
String desc = cc.getAttribute(DESCRIPTION);
catList.add(StringUtilities.leftJustify(name, 15) + " " + desc);
final StringBuffer sbHelp = new StringBuffer();
sbHelp.append(cc.getAttribute(DESCRIPTION) + ":\n");
cc.processChildren(COMMAND, new ConfigurationCallback() {
public void process(Configuration c) {
try {
String cName = c.getAttribute(CLASS);
Class cl = Class.forName(cName);
Command cmd = (Command)cl.newInstance();