// TODO Provide consistent user interface for node selection
 private void onNodeGroupSelection(Set<NodeGroup> nodeGroups) {
   // Set the group's sub-nodes as selected
   for (NodeGroup nodeGroup : nodeGroups) {
     List<Node> nodes = nodeGroup.getNodes();
     for (Node node : nodes) {
       nodeSelectionModel.setSelected(node, true);
     }
   }
 }
 // TODO Provide consistent user interface for node selection
 private void onNodeSelection(final Set<Node> nodes) {
   for (Node node : nodes) {
     for (NodeGroup nodeGroup : nodeGroupSelectionModel.getSelectedSet()) {
       if (node.getNodeType().equals(nodeGroup.getName())) {
         nodeGroupSelectionModel.setSelected(nodeGroup, false);
         break;
       }
     }
   }
   eventBus.fireEvent(new UpdateNodesSelectedEvent(nodes));
 }