code: public static List<CmsGroup> filterCoreGroups(List<CmsGroup> groups) {
  
          Iterator<CmsGroup> it = groups.iterator();
          while (it.hasNext()) {
              CmsGroup p = it.next();
              if (p.getFlags() > I_CmsPrincipal.FLAG_CORE_LIMIT) {
                  it.remove();
              }
          }
          return groups;
      }
docs: Filters out all groups with flags greater than <code>{@link I_CmsPrincipal#FLAG_CORE_LIMIT}</code>.<p>
  
  The given parameter list is directly modified, so the returned list is the same object as the input list.<p>
  
  @param groups a list of <code>{@link CmsGroup}</code> objects
  
  @return the filtered principal list