GrouperLog.debug(LOG, s, msg + "no");
  protected void canVIEW(GrouperSession s, Group g, Subject subj)    throws  InsufficientPrivilegeException  {    // TODO This is ugly    boolean   can   = false;    Privilege priv  = AccessPrivilege.VIEW;    String    msg   = "canVIEW ";    if (PrivilegeResolver.getInstance().hasPriv(s, g, subj, priv)) {      msg += "VIEW";      can = true;    }    else if (      PrivilegeResolver.getInstance().hasPriv(s, g, subj, AccessPrivilege.READ)    )    {      msg += "READ";      can = true;    }    else if (      PrivilegeResolver.getInstance().hasPriv(s, g, subj, AccessPrivilege.ADMIN)    )    {      msg += "ADMIN";      can = true;    }    else if (      PrivilegeResolver.getInstance().hasPriv(s, g, subj, AccessPrivilege.UPDATE)    )    {      msg += "UPDATE";      can = true;    }    else if (      PrivilegeResolver.getInstance().hasPriv(s, g, subj, AccessPrivilege.OPTIN)    )    {      msg += "OPTIN";      can = true;    }    else if (      PrivilegeResolver.getInstance().hasPriv(s, g, subj, AccessPrivilege.OPTOUT)    )    {      msg += "OPTOUT";      can = true;    }    if (can == false) {      GrouperLog.debug(LOG, s, msg + "no");      throw new InsufficientPrivilegeException(        s.getSubject().getId() + " does not have " + priv + " on '"         + g.getName() + "'"      );    }    GrouperLog.debug(LOG, s, msg);  } // protected void canVIEW(s, g, subj)