public void execute(XmlDoc.Element args, Inputs in, Outputs out, XmlWriter w) throws Throwable {
    // Get arguments and parse
    XmlDoc.Element authority = args.element("authority");
    String domain = args.value("domain");
    String user = args.value("user");
    Collection<String> roles = args.values("role");
    Collection<String> pssdRoles = args.values("pssd-role");
    if (roles == null && pssdRoles == null) {
      throw new Exception("You must supply a 'role' and/or 'pssd-role'.");
    }

    // Do the work
    Boolean grant = false;
    SvcUserRoleGrant.grantRevoke(executor(), authority, domain, user, roles, pssdRoles, w, grant);
  }
 public SvcUserRoleRevoke() throws Throwable {
   _defn = new Interface();
   SvcUserRoleGrant.addInterface(_defn); // Re-use interface
 }