g.getSession().waitForTx();
  protected static void revokePriv(    GrouperSession s, Group g, Subject subj, Privilege priv  )  {    try {      Member m = MemberFinder.findBySubject(s, subj);      g.revokePriv(subj, priv);        if      (priv.equals(AccessPrivilege.READ)) {          // Granted to ALL by default - but possibly revoked        if (SubjectHelper.eq(subj, SubjectHelper.SUBJA)) {           hasPriv(g, subj, m, priv, false);        }        else {          hasPriv(g, subj, m, priv, true);        }      }      else if (priv.equals(AccessPrivilege.VIEW)) {        // Granted to ALL by default - but possibly revoked        if (SubjectHelper.eq(subj, SubjectHelper.SUBJA)) {           hasPriv(g, subj, m, priv, false);        }        else {          hasPriv(g, subj, m, priv, true);        }      }      else {        hasPriv(g, subj, m, priv, false);      }    }    catch (Exception e) {      Assert.fail("failed to revoke priv: " + e.getMessage());    }  } // protected static void revokePriv(s, g, subj, priv)