public NodeId getNodeId(String uri, SessionInfo sessionInfo) throws RepositoryException {
IdURICache cache = getCache(sessionInfo.getWorkspaceName());
if (cache.containsUri(uri)) {
// id has been accessed before and is cached
ItemId id = cache.getItemId(uri);
if (id.denotesNode()) {
return (NodeId) id;
}
}
// retrieve parentId from cache or by recursive calls