catch (Exception e) {    throw new MembershipNotFoundException(e.getMessage(), e);
catch (GroupNotFoundException eGNF)         { throw new MembershipNotFoundException(eGNF.getMessage(), eGNF); } catch (InsufficientPrivilegeException eIP)  { throw new MembershipNotFoundException(eIP.getMessage(), eIP); } catch (MemberNotFoundException eMNF)        { throw new MembershipNotFoundException(eMNF.getMessage(), eMNF);
  public static Membership findCompositeMembership(    GrouperSession s, Group g, Subject subj  )    throws  MembershipNotFoundException,            SchemaException  {     // @filtered  true     // @session   true    GrouperSessionValidator.validate(s);    try {      Field       f   = Group.getDefaultList();      Member      m   = MemberFinder.findBySubject(s, subj);      Membership  ms  = findMembershipByTypeNoPrivNoSession(g, m, f, MembershipType.C);      ms.setSession(s);      PrivilegeResolver.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 findCompositeMembership(s, g, m)