if (!name.startsWith("/db")) name = "/db" + name;
name = NativeBroker.checkPath(name, "/db");
    public Hashtable getPermissions(User user, String name)    throws EXistException, PermissionDeniedException {        DBBroker broker = null;        try {            broker = brokerPool.get(user);            if (!name.startsWith("/"))                name = '/' + name;            if (!name.startsWith("/db"))                name = "/db" + name;            Collection collection = broker.openCollection(name, Lock.READ_LOCK);            Permission perm = null;            if (collection == null) {                DocumentImpl doc = (DocumentImpl) broker.openDocument(name, Lock.READ_LOCK);                if (doc == null)                    throw new EXistException("document or collection " + name                            + " not found");                perm = doc.getPermissions();                doc.getUpdateLock().release(Lock.READ_LOCK);            } else {                perm = collection.getPermissions();                collection.release();            }            Hashtable result = new Hashtable();            result.put("owner", perm.getOwner());            result.put("group", perm.getOwnerGroup());            result.put("permissions", new Integer(perm.getPermissions()));            return result;        } finally {            brokerPool.release(broker);        }    }