docs: private Iterator getInheritedPrincipals(IAuthorizationPrincipal principal)
              throws AuthorizationException {
          Iterator i = null;
          ArrayList<IAuthorizationPrincipal> al = new ArrayList<>(5);
  
          try {
              i = getGroupsForPrincipal(principal);
          } catch (GroupsException ge) {
              throw new AuthorizationException("Could not retrieve Groups for " + principal, ge);
          }
  
          while (i.hasNext()) {
              IEntityGroup group = (IEntityGroup) i.next();
              IAuthorizationPrincipal p = getPrincipalForGroup(group);
              al.add(p);
          }
          return al.iterator();
      }