code: private List<? extends ItemData> getStoredDescendants(ItemData parent, DataManager dataManager, int action)
        throws RepositoryException
     {
        if (parent.isNode())
        {
           List<ItemData> childItems = null;
  
           List<NodeData> childNodes = dataManager.getChildNodesData((NodeData)parent);
           if (action != MERGE_NODES)
           {
              childItems = new ArrayList<ItemData>(childNodes);
           }
           else
           {
              return childNodes;
           }
  
           List<PropertyData> childProps = dataManager.getChildPropertiesData((NodeData)parent);
           if (action != MERGE_PROPS)
           {
              childItems.addAll(childProps);
           }
           else
           {
              return childProps;
           }
  
           return childItems;
        }
        return null;
     }
docs: Get all stored descendants for the given parent node
  
  @param parent
  @param dataManager
  @param action
  @throws RepositoryException