mof.effDeletes.add(child);
children.add(child);
  protected static MemberOf delImmediate(    GrouperSession s, Owner o, Membership ms, Member m  )    throws  GroupNotFoundException,   // TODO            HibernateException,            MemberNotFoundException,  // TODO            MembershipNotFoundException  {    MemberOf  mof = new MemberOf(s, o, m, ms);    // Find child memberships that need deletion    Membership  child;    Iterator    iter  = MembershipFinder.findAllChildrenNoSessionNoPriv(ms).iterator();    while (iter.hasNext()) {      child = (Membership) iter.next();      child.setSession(s);      mof.effDeletes.add(child);    }    // Find all effective memberships that need deletion    Membership  eff;    Iterator    viaChildIter;    Membership  viaEff;    iter = MembershipFinder.findAllViaNoSessionNoPriv(ms).iterator();    while (iter.hasNext()) {      eff           = (Membership) iter.next();      eff.setSession(s);      // And the children of those effective memberships      viaChildIter  = MembershipFinder.findAllChildrenNoSessionNoPriv(eff).iterator();      while (viaChildIter.hasNext()) {        viaEff = (Membership) viaChildIter.next();        viaEff.setSession(s);        mof.effDeletes.add(viaEff);      }      mof.effDeletes.add(eff);    }    // And now set everything else    mof.deletes.addAll(mof.effDeletes);    mof.deletes.add(ms);    mof._resetSessions();    mof.o.setModified();    mof.deletes.add(ms);    // Delete the immediate    mof.saves.add(mof.o);   // Update the owner    return mof;  } // protected static MemberOf delImmediate(s, o, m, ms)