code: private Set<String> getGroups(DirContext context, String callerDn) {
          Set<String> groups = null;
          String groupSearchBase = idStoreDefinition.getGroupSearchBase();
          String groupSearchFilter = idStoreDefinition.getGroupSearchFilter();
          if (groupSearchBase.isEmpty() || groupSearchFilter.isEmpty()) {
              groups = getGroupsByMembership(context, callerDn);
          } else {
              groups = getGroupsByMember(context, callerDn, groupSearchBase, groupSearchFilter);
          }
          return groups;
      }
docs: Get the groups for the caller
  
  @param context The {@link DirContext} to use when performing the search.
  @param callerDn The caller's distinguished name.
  @return The set of groups the caller is a member of.