docs: protected Iterator findParentGroups(IEntityGroup group) throws GroupsException {
          if (log.isDebugEnabled()) log.debug(DEBUG_CLASS_NAME + ".findParentGroups(): for " + group);
  
          List groups = new ArrayList();
          {
              String typeName = group.getLeafType().getName();
              File parent = getFile(group).getParentFile();
              if (!parent.getName().equals(typeName)) {
                  groups.add(find(parent));
              }
  
              File root = getFileRoot(group.getLeafType());
              File[] files = getAllFilesBelow(root);
              try {
                  for (int i = 0; i < files.length; i++) {
                      Collection ids = getGroupIdsFromFile(files[i]);
                      if (ids.contains(group.getLocalKey())) {
                          groups.add(find(files[i]));
                      }
                  }
              } catch (IOException ex) {
                  throw new GroupsException("Problem reading group files", ex);
              }
          }
          return groups.iterator();
      }