orig, root, g, AccessPrivilege.UPDATE , CFG_GCGAU
root, g, AccessPrivilege.UPDATE , CFG_GCGAU
  private void _grantDefaultPrivsUponCreate(Group g)    throws  GroupAddException  {    // Now grant ADMIN (as root) to the creator of the child group.    //    // Ideally this would be wrapped up in the broader transaction    // of adding the child stem but as the interfaces may be    // outside of our control, I don't think we can do that.      //    // TODO Unfortunately this sets the modify* attrs    try {      GrouperSession  orig  = this.s;      GrouperSession  root  = GrouperSessionFinder.getTransientRootSession();      g.setSession(root);      PrivilegeResolver.getInstance().grantPriv(        root, g, orig.getSubject(), AccessPrivilege.ADMIN      );      // Now optionally grant other privs      this._grantOptionalPrivUponCreate(        orig, root, g, AccessPrivilege.ADMIN  , CFG_GCGAA      );      this._grantOptionalPrivUponCreate(        orig, root, g, AccessPrivilege.OPTIN  , CFG_GCGAOI      );      this._grantOptionalPrivUponCreate(        orig, root, g, AccessPrivilege.OPTOUT , CFG_GCGAOO      );      this._grantOptionalPrivUponCreate(        orig, root, g, AccessPrivilege.READ   , CFG_GCGAR      );      this._grantOptionalPrivUponCreate(        orig, root, g, AccessPrivilege.UPDATE , CFG_GCGAU      );      this._grantOptionalPrivUponCreate(        orig, root, g, AccessPrivilege.VIEW   , CFG_GCGAV      );      g.setSession(orig);      root.stop();    }    catch (Exception e) {      throw new GroupAddException(        "group created but unable to grant ADMIN to creator: " + e.getMessage(), e      );    }  } // private void _grantDefaultPrivsUponCreate(g)