if(collection != null) collection.release();
	public Hashtable listDocumentPermissions(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.getCollection(name);			if (!collection.getPermissions().validate(user, Permission.READ))				throw new PermissionDeniedException(						"not allowed to read collection " + name);			Hashtable result = new Hashtable(collection.getDocumentCount());			if (collection == null)				return result;			DocumentImpl doc;			Permission perm;			Vector tmp;			String docName;			for (Iterator i = collection.iterator(broker); i.hasNext(); ) {				doc = (DocumentImpl) i.next();				perm = doc.getPermissions();				tmp = new Vector(3);				tmp.addElement(perm.getOwner());				tmp.addElement(perm.getOwnerGroup());				tmp.addElement(new Integer(perm.getPermissions()));				docName = doc.getFileName();				result.put(docName, tmp);			}			return result;		} finally {			brokerPool.release(broker);		}	}