@Override
 protected void registerNode(Node node) {
   super.registerNode(node);
   String name = IdUtil.parseId(node.getId()).name;
   Set<Node> set = nodesFromName.get(name);
   if (set == null) {
     set = new HashSet<Node>();
     nodesFromName.put(name, set);
   }
   set.add(node);
 }
 @Override
 protected void unregisterNode(Node node) {
   super.unregisterNode(node);
   String name = IdUtil.parseId(node.getId()).name;
   Set<Node> set = nodesFromName.get(name);
   if (set != null) {
     set.remove(node);
     if (set.isEmpty()) {
       nodesFromName.remove(name);
     }
   }
 }