List<Node> (Configurable... configurables) { Map<String, List<Configurable>> map = ConfigurableExtensionPointUtil.groupConfigurables(Arrays.asList(configurables)); List<Node> children = new ArrayList<>(); for (Map.Entry<String, List<Configurable>> entry : new TreeMap<>(map).entrySet()) { children.add(node(entry.getKey(), entry.getValue())); } return children; }