* @caller    public Membership.getChildMemberships()
  protected static Set findChildMemberships(GrouperSession s, Membership ms) {     /*     * @caller    public Membership.getChildMemberships()     * @filtered  true     * @session   true     */    GrouperSession.validate(s);    GrouperLog.debug(LOG, s, MSG_FCMSHIPS_PRO);    Set mships  = new LinkedHashSet();    try {      Session hs  = HibernateHelper.getSession();      Query   qry = hs.createQuery(        "from Membership as ms where ms.parent_membership = :msid"      );      qry.setCacheable(GrouperConfig.QRY_MSF_FCM);      qry.setCacheRegion(GrouperConfig.QCR_MSF_FCM);      qry.setString("msid", ms.getId());      List    l   = qry.list();      hs.close();      GrouperLog.debug(LOG, s, MSG_FCMSHIPS_PRO + " unfiltered: " + l.size());      mships.addAll( _filterMemberships(s, ms.getList(), l) );    }    catch (HibernateException eH) {      GrouperLog.error(LOG, s, MSG_FCMSHIPS_PRO + ": " + eH.getMessage());    }    GrouperLog.debug(LOG, s, MSG_FCMSHIPS_PRO + " filtered: " + mships.size());    return mships;  } // protected static Set findChildMemberships(s, ms)