code: public List<PropertyData> listChildProperties(final NodeData parentData)
     {
        if (enabled && parentData != null)
        {
           try
           {
              // we assume that parent cached too
              final List<PropertyData> cp = propertiesCache.get(parentData.getIdentifier());
  
              if (LOG.isDebugEnabled())
              {
                 LOG.debug(name + ", listChildProperties() " + parentData.getQPath().getAsString() + " "
                    + parentData.getIdentifier());
                 final StringBuilder blog = new StringBuilder();
                 if (cp != null)
                 {
                    blog.append("\n");
                    for (PropertyData pd : cp)
                    {
                       blog.append("\t\t" + pd.getQPath().getAsString() + " " + pd.getIdentifier() + "\n");
                    }
                    LOG.debug("\t--> " + blog.toString());
                 }
                 else
                 {
                    LOG.debug("\t--> null");
                 }
              }
  
              if (cp != null)
              {
                 hits.incrementAndGet();
              }
              else
              {
                 miss.incrementAndGet();
              }
              return cp;
           }
           catch (Exception e)
           {
              LOG.error(name + ", Error in listChildProperties() parentData: "
                 + (parentData != null ? parentData.getQPath().getAsString() : "[null]"), e);
           }
        }
  
        return null; // nothing cached
     }
docs: {@inheritDoc}