code: public List<CmsGroup> getManageableGroups(CmsObject cms, String ouFqn, boolean includeSubOus) throws CmsException {
  
          List<CmsGroup> groups = new ArrayList<CmsGroup>();
          Iterator<CmsOrganizationalUnit> it = getOrgUnitsForRole(
              cms,
              CmsRole.ACCOUNT_MANAGER.forOrgUnit(ouFqn),
              includeSubOus).iterator();
          while (it.hasNext()) {
              CmsOrganizationalUnit orgUnit = it.next();
              groups.addAll(OpenCms.getOrgUnitManager().getGroups(cms, orgUnit.getName(), false));
          }
          return groups;
      }
docs: Returns all groups of organizational units for which the current user
  has the {@link CmsRole#ACCOUNT_MANAGER} role.<p>
  
  @param cms the current cms context
  @param ouFqn the fully qualified name of the organizational unit
  @param includeSubOus if sub organizational units should be included in the search
  
  @return a list of {@link org.opencms.file.CmsGroup} objects
  
  @throws CmsException if something goes wrong