code: private boolean isAccessGranted(ScoreNode[] nodes) throws RepositoryException
     {
        if (isSystemSession)
        {
           return true;
        }
        for (int i = 0; i < nodes.length; i++)
        {
           try
           {
              //if (nodes[i] != null && !accessMgr.isGranted(nodes[i].getNodeId(), PermissionType.READ)) {
              if (nodes[i] != null)
              {
                 NodeData nodeData = (NodeData)itemMgr.getItemData(nodes[i].getNodeId());
                 if (nodeData == null
                    || !accessMgr.hasPermission(nodeData.getACL(), PermissionType.READ, session.getUserState()
                       .getIdentity()))
                 {
                    return false;
                 }
              }
           }
           catch (ItemNotFoundException e)
           {
              if (LOG.isTraceEnabled())
              {
                 LOG.trace("An exception occurred: " + e.getMessage());
              }
           }
        }
        return true;
     }
docs: Checks if access is granted to all <code>nodes</code>.
  
  @param nodes the nodes to check.
  @return <code>true</code> if read access is granted to all
  <code>nodes</code>.
  @throws RepositoryException if an error occurs while checking access
  rights.