code: protected List<NodeData> getDirectChildNodesData(NodeData parent, List<QPathEntryFilter> itemDataFilters)
        throws RepositoryException, IllegalStateException
     {
        checkIfOpened();
        if (itemDataFilters.isEmpty())
        {
           return new ArrayList<NodeData>();
        }
  
        List<NodeData> children = new ArrayList<NodeData>();
        for (Iterator<QPathEntryFilter> it = itemDataFilters.iterator(); it.hasNext(); )
        {
           QPathEntryFilter filter = it.next();
           if (filter.isExactName())
           {
              NodeData data = (NodeData)getItemData(parent, filter.getQPathEntry(), ItemType.NODE);
              if (data != null)
              {
                 children.add(data);
              }
              it.remove();
           }
        }
        if (!itemDataFilters.isEmpty())
        {
           children.addAll(getChildNodesDataInternal(parent, itemDataFilters));
        }
        return children;
     }
docs: This method is similar to {@link CQJDBCStorageConnection#getChildNodesData(NodeData, List)} except that if the
  QPathEntryFilter is an exact name the method {@link JDBCStorageConnection#getItemData(NodeData, QPathEntry, ItemType)}
  will be called instead.