catch (HibernateException eH) { GrouperLog.error(LOG, s, MSG_FEMSHIPSG_PRO + ": " + eH.getMessage());
catch (MemberNotFoundException eMNF) { throw new MembershipNotFoundException(eMNF.getMessage());
  protected static Set findEffectiveMemberships(    GrouperSession s, Group g, Field f  )  {    /*     * @caller    public    Group.getEffectiveMemberships(f)     * @caller    protected MembershipFinder.findEffectiveMembers(s, g, field)     * @filtered  true     * @session   true     */    GrouperSession.validate(s);    GrouperLog.debug(LOG, s, MSG_FEMSHIPSG_PRO);    Set mships  = new LinkedHashSet();    try {      Session hs  = HibernateHelper.getSession();      List    l   = hs.find(        "from Membership as ms where  "        + "ms.owner_id        = ?     "        + "and ms.field.name  = ?     "         + "and ms.field.type  = ?     "        + "and ms.depth       > 0     ",         new Object[] {          g.getUuid(), f.getName(), f.getType().toString()        },        new Type[] {          Hibernate.STRING, Hibernate.STRING, Hibernate.STRING        }        );      hs.close();      GrouperLog.debug(LOG, s, MSG_FEMSHIPSG_PRO + " unfiltered: " + l.size());      mships.addAll( _filterMemberships(s, f, l) );    }    catch (HibernateException eH) {      GrouperLog.error(LOG, s, MSG_FEMSHIPSG_PRO + ": " + eH.getMessage());    }    GrouperLog.debug(LOG, s, MSG_FEMSHIPSG_PRO + " filtered: " + mships.size());    return mships;  } // protected static Set findEffectiveMemberships(s, g, f)