code: public void addChildProperties(final NodeData parentData, final List<PropertyData> childItems)
     {
        if (enabled && parentData != null && childItems != null)
        {
           String logInfo = null;
           if (LOG.isDebugEnabled())
           {
              logInfo =
                 "parent:   " + parentData.getQPath().getAsString() + "    " + parentData.getIdentifier() + " "
                    + childItems.size();
              LOG.debug(name + ", addChildProperties() >>> " + logInfo);
           }
  
           String operName = ""; // for debug/trace only
  
           writeLock.lock();
           try
           {
              // remove parent (no childs)
              operName = "removing parent";
              removeItem(parentData);
  
              operName = "caching parent";
              putItem(parentData); // put parent in cache
  
              synchronized (childItems)
              {
                 operName = "caching child properties list";
                 propertiesCache.put(parentData.getIdentifier(), childItems); // put childs in cache CP
  
                 operName = "caching child properties";
                 // put childs in cache C
                 for (ItemData p : childItems)
                 {
                    if (LOG.isDebugEnabled())
                    {
                       LOG.debug(name + ", addChildProperties()    " + p.getQPath().getAsString() + "    "
                          + p.getIdentifier() + "  --  " + p);
                    }
  
                    putItem(p);
                 }
              }
           }
           catch (Exception e)
           {
              LOG.error(name + ", Error in addChildProperties() " + operName + ": parent "
                 + (parentData != null ? parentData.getQPath().getAsString() : "[null]"), e);
           }
           finally
           {
              writeLock.unlock();
           }
  
           if (LOG.isDebugEnabled())
           {
              LOG.debug(name + ", addChildProperties() <<< " + logInfo);
           }
        }
     }
docs: {@inheritDoc}