private synchronized @Nonnull Set<String> getAcceptedGroups() {
   if (acceptedGroups == null) {
     final List<GroupSelector> selectors = getGroupList();
     acceptedGroups = new HashSet<String>(selectors.size());
     for (GroupSelector selector : selectors) {
       // merge equal entries
       acceptedGroups.add(selector.getSelectedGroupId());
     }
   }
   return acceptedGroups;
 }