- for (String source : sourcesGrouped.keySet()) {
- if (checkFilter(filter, source) || checkFilter(filter, sourcesGrouped.get(source))) {
- boolean hasChildren = sourcesGrouped.get(source).size() > 1;
- DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(">" + source + (hasChildren ? "/" : ""));
+ List<String> sources = new ArrayList<String>(sourcesGrouped.keySet());
+ sort(sources);
+ for (String source : sources) {
+ if (checkFilter(filter, source)
+ || checkFilter(filter, sourcesGrouped.get(source))) {
+ List<String> children = sourcesGrouped.get(source);
+ boolean hasChildren = (children.size() > 1)
+ || (children.size() == 1
+ && !children.get(0).trim().isEmpty());
+ DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(
+ ">" + source + (hasChildren ? "/" : ""));