code: public ItemImpl getItem(NodeData parent, QPathEntry[] relPath, boolean pool, ItemType itemType)
        throws RepositoryException
     {
        long start = 0;
        if (LOG.isDebugEnabled())
        {
           start = System.currentTimeMillis();
           StringBuilder debugPath = new StringBuilder();
           for (QPathEntry rp : relPath)
           {
              debugPath.append(rp.getAsString());
           }
           LOG.debug("getItem(" + parent.getQPath().getAsString() + " + " + debugPath + " ) >>>>>");
        }
  
        ItemImpl item = null;
        try
        {
           return item = readItem(getItemData(parent, relPath, itemType), pool);
        }
        finally
        {
           if (LOG.isDebugEnabled())
           {
              StringBuilder debugPath = new StringBuilder();
              for (QPathEntry rp : relPath)
              {
                 debugPath.append(rp.getAsString());
              }
              LOG.debug("getItem(" + parent.getQPath().getAsString() + " + " + debugPath + ") --> "
                 + (item != null ? item.getPath() : "null") + " <<<<< " + ((System.currentTimeMillis() - start) / 1000d)
                 + "sec");
           }
        }
     }
docs: Return Item by parent NodeDada and array of QPathEntry which represent a relative path to the
  searched item
  
  @param parent
  - parent of the searched item
  @param relPath
  - array of QPathEntry which represents the relation path to the searched item
  @param pool
  - indicates does the item fall in pool
  @param itemType
  - item type
  @return existed item or null if not found
  @throws RepositoryException