GrouperLog.debug(LOG, s, MSG_FIMSHIP_PUB);
  public static Membership findImmediateMembership(    GrouperSession s, Group g, Subject subj, Field f  )    throws  MembershipNotFoundException,            SchemaException  {    /*      * @caller    PUBLIC     * @caller    private Membership._membershipsToDelete(s, g, subj, f)     * @filtered  true     * @session   true     */    GrouperSession.validate(s);    GrouperLog.debug(LOG, s, MSG_FIMSHIP_PUB);    try {      Member      m   = MemberFinder.findBySubject(s, subj);      Membership  ms  = findImmediateMembership(g, m, f);      ms.setSession(s);      PrivilegeResolver.getInstance().canPrivDispatch(        s, ms.getGroup(), s.getSubject(), f.getReadPriv()      );      return ms;    }    catch (Exception e) {      // @exception GroupNotFoundException      // @exception InsufficientPrivilegeException      // @exception MemberNotFoundException      throw new MembershipNotFoundException(e.getMessage(), e);    }  } // public static Membership findImmediateMembership(s, g, m, f)