private void createNodesGroupedByType( CheckedTreeNode root, final List<? extends DetectedFrameworkDescription> frameworks) { Map<FrameworkType, FrameworkTypeNode> groupNodes = new HashMap<>(); for (DetectedFrameworkDescription framework : frameworks) { final FrameworkType type = framework.getDetector().getFrameworkType(); FrameworkTypeNode group = groupNodes.get(type); if (group == null) { group = new FrameworkTypeNode(type); groupNodes.put(type, group); root.add(group); } group.add(new DetectedFrameworkNode(framework, myContext)); } }