code: public void addChildNodes(NodeData parent, List<NodeData> childs)
     {
        boolean inTransaction = cache.isTransactionActive();
        try
        {
           if (!inTransaction)
           {
              cache.beginTransaction();
           }
  
           cache.setLocal(true);
           Set<Object> set = new HashSet<Object>();
           for (NodeData child : childs)
           {
              putNode(child, ModifyChildOption.NOT_MODIFY);
              set.add(child.getIdentifier());
           }
           cache.putIfAbsent(new CacheNodesId(getOwnerId(), parent.getIdentifier()), set);
        }
        finally
        {
           cache.setLocal(false);
           if (!inTransaction)
           {
              dedicatedTxCommit();
           }
        }
     }
docs: {@inheritDoc}