*/
private Collection getMembers(boolean includeIndirect) throws RepositoryException {
PropertyIterator itr = getNode().getWeakReferences(getSession().getJCRName(P_GROUPS));
Collection members = new HashSet((int) itr.getSize());
while (itr.hasNext()) {
NodeImpl n = (NodeImpl) itr.nextProperty().getParent();
if (n.isNodeType(NT_REP_GROUP)) {
Group group = userManager.createGroup(n);
// only retrieve indirect group-members if the group is not
// yet present (detected eventual circular membership).
if (members.add(group) && includeIndirect) {