LOG.error(ERR_MMNF + eMNF.getMessage());
String msg = E.GPA_MNF + eMNF.getMessage(); ErrorLog.error(GrouperAccessAdapter.class, msg);
  public Set getGroupsWhereSubjectHasPriv(    GrouperSession s, Subject subj, Privilege priv  )     throws  SchemaException  {    GrouperSession.validate(s);    Set groups = new LinkedHashSet();    try {      // The subject      Member    m     = MemberFinder.findBySubject(s, subj);      Iterator  iter  = MembershipFinder.findMemberships(        s, m, (Field) FieldFinder.find( (String) priv2list.get(priv) )      ).iterator();      while (iter.hasNext()) {        Membership ms = (Membership) iter.next();        ms.setSession(s);        groups.add( ms.getGroup() );      }      // And the ALL subject      Member    all     = MemberFinder.findAllMember();      Iterator  iterAll = MembershipFinder.findMemberships(        s, all, this._getField(priv)      ).iterator();      while (iterAll.hasNext()) {        Membership ms = (Membership) iterAll.next();        ms.setSession(s);        groups.add( ms.getGroup() );      }    }    catch (GroupNotFoundException eGNF) {      LOG.error(ERR_MGNF + eGNF.getMessage());    }    catch (MemberNotFoundException eMNF) {      LOG.error(ERR_MMNF + eMNF.getMessage());    }    return groups;  } // public Set getGroupsWhereSubjectHasPriv(s, subj, priv)