private void printOptionContainer(OptionContainer container, String groupChain, StringBuffer sb) { if (container instanceof OptionGroup) { OptionGroup group = (OptionGroup) container; String newChain = groupChain + (groupChain.isEmpty() ? "" : groupSeperator) + group.getName(); sb.append(newLine); // sb.append(newChain); // sb.append(" -- "); sb.append(group.getDescription()); sb.append(":"); sb.append(newLine); for (OptionContainer child : group.getChildren()) { printOptionContainer(child, newChain, sb); } } else // actual option { sb.append(printOption((Option) container)); sb.append(newLine); } }