docs: private Collection<String> getRolesForSpecialSubject(String resourceName, String specialSubject) {
          int found = 0;
          Collection<String> roles = null;
          FeatureAuthorizationTableService featureAuthzTableSvc = featureAuthzTableServiceRef.getService();
          String featureAuthzRoleHeaderValue = null;
          if (featureAuthzTableSvc != null) {
              featureAuthzRoleHeaderValue = featureAuthzTableSvc.getFeatureAuthzRoleHeaderValue();
          }
          if (featureAuthzRoleHeaderValue != null &&
              !featureAuthzRoleHeaderValue.equals(MGMT_AUTHZ_ROLES)) {
              roles = featureAuthzTableSvc.getRolesForSpecialSubject(resourceName, specialSubject);
          } else {
              Iterator<AuthorizationTableService> itr = authorizationTables.getServices();
              while (itr.hasNext()) {
                  AuthorizationTableService authzTableSvc = itr.next();
                  Collection<String> rolesFound = authzTableSvc.getRolesForSpecialSubject(resourceName, specialSubject);
                  if (rolesFound != null) {
                      roles = rolesFound;
                      found++;
                  }
              }
              // We must find one, and only one, Collection of roles
              if (found > 1) {
                  Tr.error(tc, "AUTHZ_MULTIPLE_RESOURCES_WITH_SAME_NAME", resourceName);
                  roles = null;
              }
          }
          return roles;
      }