code: public void addChildProperties(NodeData parent, List<PropertyData> childs)
     {
        boolean inTransaction = cache.isTransactionActive();
        try
        {
           if (!inTransaction)
           {
              cache.beginTransaction();
           }
           cache.setLocal(true);
           if (childs.size() > 0)
           {
              // add all new
              Set<Object> set = new HashSet<Object>();
              for (PropertyData child : childs)
              {
                 putProperty(child, ModifyChildOption.NOT_MODIFY);
                 set.add(child.getIdentifier());
              }
              cache.putIfAbsent(new CachePropsId(getOwnerId(), parent.getIdentifier()), set);
  
           }
           else
           {
              LOG.warn("Empty properties list cached " + (parent != null ? parent.getQPath().getAsString() : parent));
           }
        }
        finally
        {
           cache.setLocal(false);
           if (!inTransaction)
           {
              dedicatedTxCommit();
           }
        }
     }
docs: {@inheritDoc}