Collection collection = broker.getCollection(rootCollection);
collection = broker.openCollection(rootCollection, Lock.WRITE_LOCK);
	public Hashtable describeCollection(User user, String rootCollection)	throws Exception {		DBBroker broker = brokerPool.get(user);		try {			if (rootCollection == null)				rootCollection = "/db";					Collection collection = broker.getCollection(rootCollection);			if (collection == null)				throw new EXistException("collection " + rootCollection						+ " not found!");			Hashtable desc = new Hashtable();			Vector collections = new Vector();			if (collection.getPermissions().validate(user, Permission.READ)) {				for (Iterator i = collection.collectionIterator(); i.hasNext(); )					collections.addElement((String) i.next());			}			Permission perms = collection.getPermissions();			desc.put("collections", collections);			desc.put("name", collection.getName());			desc.put("created", Long.toString(collection.getCreationTime()));			desc.put("owner", perms.getOwner());			desc.put("group", perms.getOwnerGroup());			desc.put("permissions", new Integer(perms.getPermissions()));			return desc;		} finally {			brokerPool.release(broker);		}	}