for (Iterator i = subcollections.keySet().iterator(); i.hasNext();) {
for (Iterator i = subcollections.iterator(); i.hasNext();) {
	public synchronized List getDescendants(DBBroker broker, User user) {		final ArrayList cl = new ArrayList(subcollections.size());		Collection child;		String childName;		for (Iterator i = subcollections.keySet().iterator(); i.hasNext();) {			childName = (String) i.next();			child = broker.getCollection(name + '/' + childName);			if (permissions.validate(user, Permission.READ)) {				cl.add(child);				if (child.getChildCollectionCount() > 0)					cl.addAll(child.getDescendants(broker, user));			}		}		return cl;	}