code: protected List<PropertyData> getCachedCleanChildPropertiesData(NodeData nodeData)
     {
        if (cache.isEnabled())
        {
           List<PropertyData> childProperties = cache.getChildProperties(nodeData);
           if (childProperties != null)
           {
              boolean skip =  false;
              for (PropertyData prop : childProperties)
              {
                 if (prop != null && !(prop instanceof NullPropertyData) && forceLoad(prop))
                 {
                    cache.remove(prop.getIdentifier(), prop);
                    skip = true;
                 }
              }
              if (!skip)
              {
                 return childProperties;
              }
           }
        }
        return null;
     }
docs: Gets the list of child properties from the cache and checks if one of them
  is incomplete, if everything is ok, it returns the list otherwise it returns
  null.