code: public Grantee addRole(HsqlName name) {
  
          if (map.containsKey(name.name)) {
              throw Error.error(ErrorCode.X_28503, name.name);
          }
  
          Grantee g = new Grantee(name, this);
  
          g.isRole = true;
  
          map.put(name.name, g);
          roleMap.add(name.name, g);
  
          return g;
      }
docs: Creates a new Role object under management of this object. <p>
  
  A set of constraints regarding user creation is imposed: <p>
  
  <OL>
  <LI>Can't create a role with name same as any right.
  
  <LI>If this object's collection already contains an element whose
  name attribute equals the name argument, then
  a GRANTEE_ALREADY_EXISTS or ROLE_ALREADY_EXISTS Trace
  is thrown.
  (This will catch attempts to create Reserved grantee names).
  </OL>