{throw new EXistException("Collection " + collUri + " not found");}
if (!collection.getPermissionsNoLock().validate(user, Permission.READ))
{throw new PermissionDeniedException("not allowed to read collection " + collUri);}
final HashMap<XmldbURI, List<Object>> result = new HashMap<XmldbURI, List<Object>>(collection.getChildCollectionCount(broker));
for (final Iterator<XmldbURI> i = collection.collectionIterator(broker); i.hasNext(); ) {
final XmldbURI child = i.next();
final XmldbURI path = collUri.append(child);
final Collection childColl = broker.getCollection(path);
final Permission perm = childColl.getPermissionsNoLock();
final List<Object> tmp = new ArrayList<Object>(3);
tmp.add(perm.getOwner().getName());
tmp.add(perm.getGroup().getName());